我有一个返回数组的函数,叫做curPageURL。在我的本地apache上,我可以像这样访问页面的返回值:$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;
}
有人能解释一下为什么吗?
直接通过函数返回值访问数组索引是否被禁止了?如果是,为什么在我的本地主机上可以工作,但在我的线上主机上不行呢?