可以';我在服务器上不使用PHP中的索引


Can't use indexes in PHP on my server

每当我的代码中有"["时,我的服务器都会返回一个错误;但它会在本地运行。

function get_date($get_date_zone = "UTC") {
    date_default_timezone_set($get_date_zone);
    return getdate()['mday'] . "/" . getdate()['mon'] . "/" . getdate()['year'];
}
print get_date();
?>

我得到:

Parse error: syntax error, unexpected '[' in /home/eliteshi/public_html/deve/test.php on line 5

我的代码可能有问题吗?或者我在看服务器端的东西?

只有在PHP 5.4中才添加了取消引用返回值的功能(这是执行doSomething(args)[key]的奇特名称)。你的服务器可能没有。

不过,在这种情况下,使用一个临时变量会更明智:

$getdate = getdate();
return $getdate['mday']."/".$getdate['mon']."/".$getdate['year'];

可能,您的PHP版本是< 5.4。不要使用这种getdate()[...]语法,请尝试使用:

$date = getdate(); 
return $date['mday'] . "/" . $date['mon'] . "/" . $date['year'];

只有在php 5.4之后才可能。您可能正在使用旧版本的PHP。

你必须先把它放在一个单独的变量中:

$var = getdate();
$var['mday'];