PHP, erro de análise: erro de sintaxe, inesperado T_FUNCTION [duplicado]

Esta questão já tem uma resposta aqui:

Função anônima do PHP causa erro de sintaxe em algumas instalações 3 respostas
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

O erro está em:

array_walk_recursive($decoded_data,function(&$function)

questionAnswers(1)

yourAnswerToTheQuestion