PHP 版本 5.2.14 / 解析错误:语法错误,意外的 T_FUNCTION,期待 ')'

发布于 2024-09-19 12:39:49 字数 428 浏览 3 评论 0原文

我有一段代码试图与 PHP Version 5.2.14 一起使用。是不是不兼容??我运行以下命令,

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

它给出:

解析错误:语法错误,意外的 T_FUNCTION,在 /XYZ/functions.php 第 2115 行中期待 ')' 解析 /XYZ/functions.php 时出错

代码是:

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

I have a certain piece of code that I'm trying to use with PHP Version 5.2.14 . Is it incompatible?? I run the following,

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

And it gives:

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

The code is:

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

依 靠 2024-09-26 12:39:50

您的代码使用 PHP 支持的 匿名函数 5.3.因此,您需要 PHP 5.3 才能使其正常工作。升级服务器的 PHP 安装。

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

Your code uses anonymous functions which were supported in PHP 5.3. So, you need PHP 5.3 to get it to working. Upgrade your server's PHP installation.

Anonymous functions, also known as closures, allow the creation of functions which have no specified name.

北方的巷 2024-09-26 12:39:50

您正在使用 匿名函数,这些函数自 PHP 5.3.0 起可用

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

或者,您可以在 array_map 外部定义函数,然后在调用 array_map 时使用该函数名称

You are using anonymous functions which are available since PHP 5.3.0.

To resolve this you can upgrade your PHP as suggested in other answer.

Alternatively you can define the function outside array_map and then use that function name in the call to array_map

入画浅相思 2024-09-26 12:39:50

来自 匿名函数 的 php 手册:

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

5.3.0之前,这样做:

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

From the php manual on Anonymous Functions:

Note: Anonymous functions are available since PHP 5.3.0.

prior to 5.3.0, do it like this:

$range = array_map( "name_of_function_to_call", $myArray );
自由范儿 2024-09-26 12:39:50

我认为 5.2 中尚未实现 lambda 样式函数,

使用 create_function或者只是创建函数并向其传递 array_map 中的函数名称

I think the lambda style function is not yet implemented in 5.2

use create_function or just create the function and pass it the function name in array_map.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文