PHP 5.4到5.3转换

Jon*_*hon 1 php

当您尝试使用较新版本编写的PHP脚本来处理旧版本时,它们是否是任何良好的资源; 特别是5.4到5.3?

我甚至检查了有关这些变化的文章,我似乎无法弄清楚我做错了什么.


这是我得到的错误,此时此刻:

Parse error: syntax error, unexpected '[' in Schedule.php on line 113
Run Code Online (Sandbox Code Playgroud)

它所指的代码:

private static $GAMES_QUERY = array('season' => null, 'gameType' => null);
.....
public function getSeason(){
$test = array_keys(self::$GAMES_QUERY)[0]; //<<<<<<<<<< line:113
return($this->query[$test]);
}
Run Code Online (Sandbox Code Playgroud)

我所见过的所有内容似乎都说5.3具有self ::,array_keys,并且能够访问这样的数组.

zgr*_*024 6

尝试...

$test = array_keys(self::$GAMES_QUERY);
$test = $test[0];
Run Code Online (Sandbox Code Playgroud)

如果我没有弄错的话,你不能[0]像在5.4和javascript中那样使用5.3中相同声明中的键引用.


Chr*_*nte 5

该语法实际上是在5.4中添加的:http://docs.php.net/manual/en/migration54.new-features.php

因此,您需要一个临时变量来保存函数的结果,然后访问您想要的索引.