Вопрос по syntax-error, syntax, php – PHP, ошибка синтаксического анализа: синтаксическая ошибка, неожиданный T_FUNCTION [дубликат]

1

This question already has an answer here:

PHP anonymous function causes syntax error on some installations 3 answers
class test
{
    public $do;
    function __construct($data="")
    {
        $this->parse($data);
    }
    private function parse($data)
    {
        // Decoding the functions
        $decoded_data = json_decode($data,true); 
        array_walk_recursive($decoded_data,function(&$function) {
            $first_line = strtok($function, "\n");
            preg_match("/\/\*#(.*?)\#*\//",$first_line,$matches);
            $function = create_function($matches[1],$function);
        });
        $this->do = $decoded_data;  
    }
}

Parse error: syntax error, unexpected T_FUNCTION

Ошибка в:

array_walk_recursive($decoded_data,function(&$function)

что значит$function иметь? diEcho
обычно вы можете получить очень релевантные результаты, прибегая к помощи сообщений об ошибках php, и это действительно так. goat
Так же хорошо, чтобы позвонить в линию ... спасибо! Chris Trahey
Можете ли вы убедиться, что приведенный выше код вставлен в точности так, как он существует в вашем файле? Начните копирование / вставку из ОЧЕНЬ первой строки: & lt;? Php ... Chris Trahey

Ваш Ответ

1   ответ
11

анонимные функции поддерживаются только в версии 5.3+

Я думаюarray_walk_recursive поддерживается в PHP5
У меня была похожая проблема, я изменил версию PHP на 5.4. Средстваmysql будет устаревшим, поэтому вы должны использоватьmysqli или жеPDO
Но не анонимные функции. Daniel Shlomo

Похожие вопросы