PHP版本5.2.14/解析错误:语法错误,意外的T#U函数,应为';)';

PHP版本5.2.14/解析错误:语法错误,意外的T#U函数,应为';)';,php,parsing,parse-error,Php,Parsing,Parse Error,我有一段代码,我正试图使用PHP版本5.2.14。它是不兼容的吗??我运行以下命令: jailshell-3.2$ php -l /XYZ/functions.php 它给出了: 解析错误:语法错误,意外的T_函数,第2115行的/XYZ/functions.php中应为“') 解析/XYZ/functions.php时出错 代码是: 2114 $range = array_map( 2115 function (DatePeriod $p) use ($v

我有一段代码,我正试图使用PHP版本5.2.14。它是不兼容的吗??我运行以下命令:

jailshell-3.2$ php -l /XYZ/functions.php
它给出了:

解析错误:语法错误,意外的T_函数,第2115行的/XYZ/functions.php中应为“') 解析/XYZ/functions.php时出错

代码是:

2114    $range = array_map(
2115                function (DatePeriod $p) use ($vt2) {
2116               $res = array();
您的代码使用了PHP5.3中支持的。因此,您需要PHP5.3才能使其正常工作。升级服务器的PHP安装

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

您正在使用的函数自PHP5.3.0以来就可用

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


或者,您可以在
array\u map
之外定义函数,然后在调用
array\u map
时使用该函数名。我认为lambda样式的函数尚未在5.2中实现

使用或仅创建函数并将php手册中的。

传递给:

注意:自PHP5.3.0以来,匿名函数一直可用

在5.3.0之前,按以下方式操作:

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