現象
PHP7系で開発していたものを、もろもろの事情によりphp5.3系で動作させることになったところ、動作させるとsyntax error, unexpected '[', expecting ')'
のエラー。
原因と対処
pdoを使用したexecute文に$stmt->execute([]);
と書いているところがあり
単純に配列の短縮構文である[]の書式が5.3では使用できなかった。
下記のように短縮しない記述で回復。
$stmt->execute(array());
ちなみに短縮構文の [] が使えるのは5.4かららしいです。
PHP 5.4 以降では配列の短縮構文が追加され、 array() の代わりに [] を使えるようになりました。 (出典:PHP マニュアル)
0 件のコメント :
コメントを投稿