array_filter() 函數用回調函數過濾數組中的元素。數組
該函數把輸入數組中的每一個鍵值傳給回調函數。若是回調函數返回 true,則把輸入數組中的當前鍵值返回給結果數組。數組鍵名保持不變。函數
語法:this
array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )
問題: blog
數據過濾空值時常會使用array_filter,但其默認會把0、false這樣具體的值過濾掉。回調函數
方法一: 直接使用:io
function filtrfunction($arr){ if($arr === '' || $arr === null){ return false; } return true; } $data = array( 'a'=>1, 'b'=>0, 'c'=>'', 'd'=>null, 'e'=>5, 'f'=>false ); print_r(array_filter($data,'filtrfunction'));
方法二: 在類中使用:function
function filtrfunction($arr){ if($arr === '' || $arr === null){ return false; } return true; } function test(){ $data = array( 'a'=>1, 'b'=>0, 'c'=>'', 'd'=>null, 'e'=>5, 'f'=>false ); print_r(array_filter($data,array($this,"filterSinaList"))); }