【问题标题】:unexpected T_FUNCTION error [duplicate]意外的 T_FUNCTION 错误 [重复]
【发布时间】:2015-12-17 16:26:17
【问题描述】:

我正在使用这个功能

    usort($arr, function($a, $b) use ($str) {return (strpos($a, $str) - strpos($b, $str));});

对数组$arr进行排序。此功能在本地主机上运行良好但是当我在线上传我的网站时出现此错误

解析错误:语法错误,意外的 T_FUNCTION

有人知道为什么会这样吗?

【问题讨论】:

    标签: php error-handling


    【解决方案1】:

    您主机上的 PHP 版本似乎

    http://php.net/manual/en/functions.anonymous.php

    你可以试试这个

    function cmp($a, $b, $str) {
        return (strpos($a, $str) - strpos($b, $str));
    }
    
    usort($arr, create_function('$a, $b', 'return cmp($a, $b, "' . $str . '");'));
    

    或者在服务器上升级你的 php。

    【讨论】:

    • 您建议的答案可以正常工作,但是升级服务器上的 php 是什么意思。如果我不拥有服务器,我可以升级服务器或我的主机帐户吗?
    • 如果您使用托管,您只能要求该托管。在 99% 的情况下,他们不会那样做。你可以改变你的主机
    • 如果您的主机仅提供自 2011 年 1 月 6 日起不受支持的 PHP 版本,我强烈建议您更换主机2011 (PHP 5.2)
    • 大多数共享主机提供商实际上支持在多个 PHP 版本之间切换(例如 SetHandler)(特别是对于 FPM 或 suphp 设置)。只是旧的通常是默认的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-09
    • 2012-12-02
    • 2010-11-20
    相关资源
    最近更新 更多