PHP Version 5.2.14 / Parse error:语法错误,意外的T_FUNCTION,期待')'

时间:2010-09-16 04:38:01

标签: php parsing parse-error

我有一段代码,我正在尝试使用PHP 5.2.14版。它不兼容吗?我运行以下内容,

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

它给出了:

  第2115行的/XYZ/functions.php中的

解析错误:语法错误,意外的T_FUNCTION,期待')'       解析/XYZ/functions.php

的错误

代码是:

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

4 个答案:

答案 0 :(得分:6)

您的代码使用PHP 5.3中支持的anonymous functions。因此,您需要PHP 5.3才能使其正常运行。升级服务器的PHP安装。

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

答案 1 :(得分:4)

您正在使用自 PHP 5.3.0 以来可用的anonymous functions

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

或者,您可以在array_map之外定义函数,然后在调用array_map

时使用该函数名称

答案 2 :(得分:3)

来自Anonymous Functions上的php手册:

  

注意:自PHP 5.3.0起,匿名函数可用。

在5.3.0之前

,这样做:

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

答案 3 :(得分:1)

我认为lambda样式函数尚未在5.2

中实现

使用create_function或只创建函数并将其传递给function name in array_map