1. 程式人生 > >php去除空陣列且陣列鍵名重置

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] => 飛揚的部落格   
)