2010-09-16 16 views
5

Tengo un determinado código que estoy tratando de usar con PHP Versión 5.2.14. ¿Es incompatible? Corro el siguiente,Versión de PHP 5.2.14/Error de análisis: error de sintaxis, inesperado T_FUNCTION, esperando ')'

jailshell-3.2$ php -l /XYZ/functions.php 

y da:

Parse error: syntax error, unexpected T_FUNCTION, expecting ')' in /XYZ/functions.php on line 2115 Errors parsing /XYZ/functions.php

El código es:

2114 $range = array_map(
2115    function (DatePeriod $p) use ($vt2) { 
2116    $res = array(); 

Respuesta

6

Su código utiliza anonymous functions que se apoya en PHP 5.3. Entonces, necesitas PHP 5.3 para que funcione. Actualice la instalación de PHP de su servidor.

Las funciones anónimas, también conocidas como cierres, permiten la creación de funciones que no tienen un nombre específico.

4

Estás utilizando anonymous functions que están disponibles desde PHP 5.3.0.

Para resolver esto puede actualizar su PHP como se sugiere en otra respuesta.

alternativa, se puede definir la función fuera array_map y luego utilizar ese nombre de función en la llamada a array_map

3

Desde el manual de PHP en Anonymous Functions:

Note: Anonymous functions are available since PHP 5.3.0.

antes de 5.3.0, hacerlo de esta manera:

$range = array_map("name_of_function_to_call", $myArray); 
Cuestiones relacionadas