php array_filter

一、array_filter

array_filter ( array $array [, callable $callback [, int $flag = 0 ]] ) : array

依次將 array 數組中的每個值傳遞到 callback 函數。

如果 callback 函數返回 true,則 array 數組的當前值會被包含在返回的結果數組中。數組的鍵名保留不變。

 

二、過濾數組空值的幾種情況:

$arr = [0,1,2,'',false,'0','1',null];

//過濾數組中所有爲空值的元素
var_dump(array_filter($arr));

//針對數組值進行過濾
var_dump(array_filter($arr, function($v) {
    return $v == 1;
}));

//針對數組鍵進行過濾
var_dump(array_filter($arr, function($k) {
    return $k == 1;
}, ARRAY_FILTER_USE_KEY));

//針對數組值、鍵進行過濾
var_dump(array_filter($arr, function($k, $v) {
    return $k == 1 || $v == 2;
}, ARRAY_FILTER_USE_BOTH));

//過濾null '' false, 不過濾0
var_dump(array_filter($arr, 'strlen'));

 

三、

沒發現什麼問題,歡迎指正

$arr = [0,1,2,'',false,'0','1', null];

var_dump(array_filter($arr, function($k) use($arr) {
    if ($k == 2) {
        unset($arr[$k]);
    } else {
        return true;
    }
}, ARRAY_FILTER_USE_KEY));

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章