Warning: array_filter() expects parameter 2 to be a valid callback, function 'empty' not found or invalid function name....
Why is empty considered a invalid callback?
$arr = array_filter($arr, 'empty');
This works: if(empty($arr['foo'])) die();
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
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');