【问题标题】:PHP Version 5.2.14 / Parse error: syntax error, unexpected T_FUNCTION, expecting ')'PHP 版本 5.2.14 / 解析错误:语法错误,意外的 T_FUNCTION,期待 ')'
【发布时间】:2011-04-13 00:45:23
【问题描述】:

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

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

它给出了:

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

代码是:

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

【问题讨论】:

    标签: php parsing parse-error


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      您使用的是自 PHP 5.3.0 起可用的anonymous functions

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

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

      【讨论】:

        【解决方案3】:

        来自Anonymous Functions上的php手册:

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

        在 5.3.0 之前,这样做:

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

        【讨论】:

          【解决方案4】:

          我认为 lambda 样式函数在 5.2 中还没有实现

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

          【讨论】:

            猜你喜欢
            • 2011-07-23
            • 1970-01-01
            • 2022-01-21
            • 2010-11-20
            • 2012-05-11
            • 1970-01-01
            • 2016-01-29
            • 2015-05-26
            • 2021-11-05
            相关资源
            最近更新 更多