Home » Php » PHP Anonymous function with array_walk

PHP Anonymous function with array_walk

Posted by: admin July 12, 2020 Leave a comment

Questions:

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?

How to&Answers:

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.\'"\';'));

Answer:

Check your PHP version… Anonymous functions are only available since 5.3…