tamakipedia

フロントエンドエンジニア。Typescriptもう特訓中です。一日の振り返りや学んだことをちょっとずつ吐いています。

PHPで「Parse error: syntax error, unexpected '['が出た時の解消法

はじめに

wordpressサイトの目次に関する不具合の改修を行なっている際に起こったエラーのメモです。

次のような配列を作成しようとすると
「Parse error: syntax error, unexpected '[' in ~」というエラーになりました。

<?php
$a = [ 'foo' => 'hoge', 'bar' => 'hoge' ];
?>

var_dump($a);

原因

PHP5.4以降から配列の短縮構文が追加され、array関数の代わりに短縮構文[]が使えるようになりました。

//①
<?php
$array = array(
    "a" => "b",
    "c" => "d",
);
 
//②
$array = [
    "a" => "b",
    "c" => "d",
];
?>

PHP 5.4 以前は①、それ以降は①、②の両方が利用できます。

使っているPHPのバージョンが 5.4 以下だったために起こったエラーでした。

対処

array関数を使用して以下のような形を取りました。

  $array = array();

参考: PHP: 配列 - Manual

エラーにぶつかった際に、バージョンによるものか?と疑う視点も必要なのだと勉強になりました。