我有一个函数返回一个数组,称为curPageURL。在我的本地apache上,我像这样访问Page的返回值:$pageUrl = explode('?',curPageURL())[0];,它工作得很好。但是在直播中它没有用。我花了很多时间才发现错误是在访问数组。

这解决了问题:

$pageUrl = explode('?',curPageURL());
$pageURL = pageURL[0];


function curPageURL() {
        $pageURL = 'http';
        if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
        $pageURL .= "://";
        if ($_SERVER["SERVER_PORT"] != "80") {
            $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
        } else {
            $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
        }
        return $pageURL;
    }
  • 有人可以解释为什么吗?
  • 是否禁止通过函数的返回值直接访问数组索引?如果是这样,为什么在我的本地主机上工作,而不在我的实时主机上工作?
  • 最佳答案

    $pageUrl = explode('?',curPageURL())[0];仅在 php版本> = 5.4 时可用



    您的在线主机低于该版本。

    10-08 04:53