2010-09-16 79 views
5

我有一段代码,我试图使用PHP版本5.2.14。它不兼容?我运行下面,PHP版本5.2.14 /分析错误:语法错误,意外的T_FUNCTION,期待')'

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

,它给:

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

的代码是:

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

回答

6

你的代码使用这是在PHP 5.3支持anonymous functions。所以,你需要PHP 5.3才能运行。升级您的服务器的PHP安装。

匿名函数(也称为闭包)允许创建没有指定名称的函数。

4

您正在使用的anonymous functions这是可用的PHP 5.3.0

要解决此问题,您可以按照其他答案中的建议升级您的PHP。

另外,您可以定义函数之外array_map,然后使用该函数名在调用array_map

3

从PHP手册上Anonymous Functions

Note: Anonymous functions are available since PHP 5.3.0.

5.3.0版本之前,像这样做:

$range = array_map("name_of_function_to_call", $myArray); 
相关问题