php去除空陣列且陣列鍵名重置
阿新 • • 發佈:2019-02-02
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] => 飛揚的部落格
)