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 => 'http://blog.csdn.net/qq_16241043',   
             6 =>'0'  
          );   
print_r(array_filter($entry));    

上列代码输出内容:

Array 
( 
    [0] =>php去除空数组
    [2] => 1 
    [5] =>http://blog.csdn.net/qq_16241043
) 

能够看出,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" => "http://blog.csdn.net/qq_16241043");   
sort($my_array);   
print_r($my_array);   
?>  

输出成果为:

Array   
(   
    [0] => 1   
    [1] => http://blog.csdn.net/qq_16241043  
    [2] => 飞扬的博客   
)  

你可能感兴趣的:(PHP)