TRY AND ERRΦR

気になったこと、勉強したこと、その他雑記など色々メモしていきます。。Sometimes these posts will be written in English.,

古いバージョンのPHPでついやってしまうあの構文

wordpressのテーマを作成する案件があり、テストサーバで動作確認したものを

クライアントのサーバに導入しテーマを適用ところ、画面が真っ白に。。。


とりあえずini_set()でエラーを確認してみると、
どうやら配列を返すメソッドをコールしたところで落ちていました。


原因はPHPバージョン差異による構文エラー。


クライアントサーバのPHPは5.3.3で、
PHP5.4より前のバージョンでは以下のようにメソッドの戻り値の配列
にそのままアクセスするような書き方はできないとのことです。
なので、一度変数に入れてからアクセスすることで解決。

echo func()[0]; //PHP5.4より前のバージョンでこれはsyntax errorになります

$arr = func(); //一度変数に格納すればおk
echo $arr[0];

function func() {
  return 配列;
}


PHPのバージョン上げろや!って簡単に言えない場面では
この手の構文エラーにも注意しておかなきゃですね~