Answer
empty()
is not a function but a language construct and array_filter()
can only accept a function as its callback.
This is given as a small note on the manual page:
Note: Because this is a language construct and not a function, it
cannot be called using variable functions
Work around
To work around this you can wrap empty in another function for example:
function empty_test($val) {
return empty($val);
}
And then call it like so:
$arr = array_filter($arr, 'empty_test');
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…