您正在寻找array_filter 函数;-)
比如这部分代码:
$arr = array(null, 0, null, 0, '', null, '', 4, 6, '', );
$arr_filtered = array_filter($arr);
var_dump($arr_filtered);
会给你以下输出:
array
7 => int 4
8 => int 6
请注意,所有“虚假”值都已删除。
如果你想更具体,你可以指定你自己的过滤函数。例如,要从数组中仅删除 nulls,我可以使用这个:
function my_filter($item) {
if ($item === null) {
return false;
}
return true;
}
$arr = array(null, 0, null, 0, '', null, '', 4, 6, '', );
$arr_filtered = array_filter($arr, 'my_filter');
var_dump($arr_filtered);
我会得到:
array
1 => int 0
3 => int 0
4 => string '' (length=0)
6 => string '' (length=0)
7 => int 4
8 => int 6
9 => string '' (length=0)