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

时间:2022-07-27
本文章向大家介绍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 =  'ZaLou.Cn',  
       1 =  false,  
       2 =  1,  
       3 =  null,  
       4 =  '',  
       5 =  'www.zalou.cn',  
       6 = '0' 
     );  
print_r(array_filter($entry));  

上列代码输出内容:

Array ( [0] = php去除空数组 [2] = 1 [5] = www.zalou.cn )

能够看出,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" =  "ZaLou.Cn ", "2" =  "1", "5" =  "www.zalou.cn");  
sort($my_array);  
print_r($my_array);  
?  

输出成果为:

Array ( [0] = 1 [1] = www.zalou.cn [2] = ZaLou.Cn )