PHPのバージョン下げたら突然 syntax error, unexpected '[', expecting ')'

PHP syntax error, unexpected '[', expecting ')'

現象

PHP7系で開発していたものを、もろもろの事情によりphp5.3系で動作させることになったところ、動作させると
syntax error, unexpected '[', expecting ')'

のエラー。

原因と対処

pdoを使用したexecute文に
$stmt->execute([]);

と書いているところがあり
単純に配列の短縮構文である[]の書式が5.3では使用できなかった。
下記のように短縮しない記述で回復。
$stmt->execute(array());

ちなみに短縮構文の [] が使えるのは5.4かららしいです。

PHP 5.4 以降では配列の短縮構文が追加され、 array() の代わりに [] を使えるようになりました。 (出典:PHP マニュアル)


0 件のコメント :

コメントを投稿