1

当您尝试使用较新版本编写的 PHP 脚本以在较旧版本上工作时,它们是否有任何好的资源?具体是 5.4 到 5.3?

我什至查看了有关更改的文章,但我似乎无法弄清楚我做错了什么。


这是我现在得到的错误:

Parse error: syntax error, unexpected '[' in Schedule.php on line 113

它所指的代码:

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]);
}

我所看到的一切似乎都在说 5.3 具有 self::、array_keys 以及访问类似数组的能力。

4

3 回答 3

6

尝试...

$test = array_keys(self::$GAMES_QUERY);
$test = $test[0];

如果我没记错的话,您不能[0]像在 5.4 和 javascript 等中那样在 5.3 的同一声明中使用密钥引用。

于 2013-03-20T00:53:33.563 回答
5

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

所以,你需要一个临时变量来保存函数的结果,然后访问你想要的索引。

于 2013-03-20T00:53:56.707 回答
1

在低于 PHP 5.4 的版本中,您可以使用list关键字Docs

list($test) = array_keys(self::$GAMES_QUERY);

这也适用于 PHP 5.4。但它确实比PHP 5.4 数组取消引用Docs中的新功能更好地处理NULL案例。

于 2013-03-20T09:45:59.407 回答