为您快速解决方法:
$array = array_filter($array);
if (empty($array)) {
echo 'Array is empty!';
}
array_filter()
函数的默认行为将删除数组中所有等于null
, 0
,''
或false
编辑1:
如果你想保留0
你必须使用回调函数。它将遍历数组中的每个值,将它们传递给回调函数。如果回调函数返回 true,则将数组中的当前值返回到结果数组中。
function customElements($callback){
return ($callback !== NULL && $callback !== FALSE && $callback !== '');
}
$array = array_filter($array, "customElements");
var_dump($array);
用法:
$array = array_filter($array, "customElements");
if (empty($array)) {
echo 'Array is empty!';
}
它现在会保留0
,就像你问的那样。
编辑2:
正如Amal Murali提供的那样,您也可以避免在回调中使用函数名并直接声明它:
$array = array_filter($array, function($callback) {
return ($callback !== NULL && $callback !== FALSE && $callback !== '');
});