PHP去除空数组且数组键名重置的讲解

啊,小雪,小雪,来了,来了。从微微的凉风中,从傍晚的喧闹中来了!像春风抖落万树梨花,像天女撒下漫天白絮……你不飘飘悠悠,因为那是骄傲的象征;你不轻轻起舞,因为那是胆小的缩影,听,沙沙沙沙、沙沙沙沙……我好像坐在屋里听那春雨的歌声。

php空数组的话,能够运用 php函数array_filter() .

array array_filter ( array [, callback callback] ) 

array_filter() 顺次将 array 数组中的每个值传递到 callback 函数。假如 callback 函数回来 TRUE,则 array 数组的当时值会被包含在回来的成果数组中。数组的键名保存不变。

假如没有供给 callback 函数,array_filter() 将删去 array 中所有等值为 FALSE 的条目.这也即是过滤数组空白元素的精华.

如下所示:

$entry = array(  
       0 => '',  
       1 => false,  
       2 => 1,  
       3 => null,  
       4 => '',  
       5 => 'www.haodaima.com',  
       6 =>'0' 
     );  
print_r(array_filter($entry));  

上列代码输出内容:

Array
(
[0] =>php去除空数组
[2] => 1
[5] =>www.haodaima.com
)

能够看出,false,null,和真正的”空白以及0都被过滤了,并且数组的下标没有改变.

这么就引申出来一个新问题,假如我想对array_filter()处理过的新数组的键名序列化成0,1,2,3这么的怎么办呢?这在数组比较中是很有用的,那么需求用到 php的sort()函数.

bool sort ( array &array [, int sort_flags] ) 

本函数对数组进行排序。当本函数结束时数组单元将被从最低到最高从头安排。

留意: 本函数为 array 中的单元赋予新的键名。这将删去原有的键名而不仅是从头排序。

假如成功则回来 TRUE,失败则回来 FALSE。

PHP代码

$my_array = array("0" => " ", "2" => "1", "5" => "www.haodaima.com");  
sort($my_array);  
print_r($my_array);  
?> 

输出成果为:

Array
(
[0] => 1
[1] => www.haodaima.com
[2] =>
)

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

您可能有感兴趣的文章
详解PHP 二维数组排序保持键名不变

PHP实现二维数组按指定的键名排序的方法示例

php array_keys 返回数组的键名

php修改数组键名的方法示例

PHP性能优化案例分享