问题
I'm trying to use array_walk with an anonymous function, but I always get the error
// Parse error: syntax error, unexpected T_FUNCTION in ... on line X
if(!empty($myArray)) {
array_walk($myArray, function(&$value, $key){ // Line X
$value = '"'.$value.'"'; // Add quotes
});
}
The surrounding file syntax is correct. Any thoughts?
回答1:
Yes, true anonymous functions (closures) are only available from PHP 5.3, however you can still create an anonymous function in earlier versions of PHP using the create_function() call, which can be used with array_walk(). Something like:
array_walk($myArray, create_function('&$value,$key', '$value = \'"\'.$value.\'"\';'));
回答2:
Check your PHP version... Anonymous functions are only available since 5.3...
来源:https://stackoverflow.com/questions/3197853/php-anonymous-function-with-array-walk