PHPでは未定義でも配列の代入ができる

PHPでは、変数をあらかじめ宣言していなくてもエラー無しでいきなり配列の代入ができるということを、恥ずかしながら初めて知りました。

$hoge[] = "hoge";
var_dump($hoge);
array(1) {
  [0]=>
  string(4) "hoge"
}

同様に、こんなこともできます。

$hoge["hoge"][] = "hoge";
var_dump($hoge);
array(1) {
  ["hoge"]=>
  array(1) {
    [0]=>
    string(4) "hoge"
  }
}

公式にもしっかりと記述されていました。

角括弧構文で作成/修正
$arrがまだ存在しない場合は、新しく作成します。 つまり、これは配列を作成する方法のひとつでもあります。

そりゃそうかという感じですが、メモとして残しておきます。