I'm trying to delete empty elements in an array with the function array_filter.
When i use an external callback like this :
function callback($a) { return !empty($a);}
$arr = array("abc",'','ghi');
$res = array_filter($arr, "callback");
it works as expected.
But if i use array_filter like that :
$arr = array("abc",'','ghi');
$res = array_filter($arr, function($a) { return !empty($a);});
It fails with the error :
PHP Parse error: syntax error, unexpected T_FUNCTION in test.php on line 2
What am i doing wrong ?
In order to remove empty elements from an array, filter() method is used. This method will return a new array with the elements that pass the condition of the callback function. array.
Basic example of empty array:$emptyArray = ( array ) null; var_dump( $emptyArray );
Definition and Usage. The array_filter() function filters the values of an array using a callback function. This function passes each value of the input array to the callback function. If the callback function returns true, the current value from input is returned into the result array.
It seems that you’re using a PHP version that does not support anonymous functions (available since PHP 5.3.0).
But array_filter
does already filter empty values if you don’t specify a callback function:
If no
callback
is supplied, all entries ofinput
equal to FALSE (see converting to boolean) will be removed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With