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

listPHP 5.4より前のバージョンでは、キーワードDocsを使用できます。

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

これはPHP5.4でも機能します。ただし、ドキュメントを逆参照するPHP5.4配列の新しいNULLケースよりも適切に処理されます。

于 2013-03-20T09:45:59.407 に答える