PHP 提供了一個函數 array_filter 可以幫助我們更方便的過濾數組里面的空值。
array_filter
- 使用回調函數過濾數組的元素,返回過濾后的數組。
- 遍歷 array 數組中的每個值,並將每個值傳遞給 callback 回調函數。 如果 callback 回調函數返回 true,則將 array 數組中的當前值返回到結果 array 數組中。數組鍵名保持不變。
- 如果沒有提供 callback 回調函數,將刪除數組中 array 的所有“空”元素。
示例一:
// 不使用回調函數,可以過濾空值 $entry = [ 0 => 'foo', 1 => false, 2 => -1, 3 => null, 4 => '', 5 => '0', 6 => 0, ]; print_r(array_filter($entry)); ## 返回結果 Array ( [0] => foo [2] => -1 )
示例二:
// 使用回調函數 $array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; $return_array = array_filter($array, function ($value) { // 過濾小於等於5的值 return $value > 5 ? true : false; }); print_r($return_array); ## 返回結果 Array ( [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )