Использование анонимной функции в PHP 5.4 приводит к ошибке разбора. Код прекрасно работает на всех серверах, кроме одного. Он использует PHP 5.4.38 на CentOS.
Вот короткая копия ошибки:
Parse error: syntax error, unexpected T_FUNCTION, expecting ‘)’ in path/to/file.php on line 33
А вот как выглядит функция:
31. public static function list_to_array($list, $delimiter = ","){
32. $array = explode($delimiter, trim($list));
33. $array = array_map(function($string) {
34. return htmlspecialchars(trim($string), ENT_QUOTES);
35. }, $array);
36. return $array;
37 }
Если вы посмотрите на этот код, все выглядит нормально и должно работать без проблем в PHP 5.3+, но по какой-то причине это не так.
Я работал в Google в течение нескольких дней и не мог найти решение.
Есть что-то, что я пропустил. Может быть анонимные функции отключены сервером или что-то в этом роде?
Задача ещё не решена.
Других решений пока нет …