1. ホーム
  2. php

[解決済み] PHPの配列は、[]で値を追加する前に宣言する必要があるのでしょうか?

2023-04-30 18:50:47

質問

$arr = array(); // is this line needed?
$arr[] = 5;

最初の行はなくても動作しますが、実際には含まれていることが多いですね。

理由はなんでしょうか?これがないと安全ではないのでしょうか?

こんなこともできるんですね。

 $arr = array(5);

というのがありますが、これは1つずつ項目を追加する必要がある場合の話です。

どのように解決するのですか?

新しい配列を宣言せず、その配列を作成/更新するデータが何らかの理由で失敗した場合、今後その配列を使おうとするコードはすべて E_FATAL となります。

例えば foreach() は、配列が宣言されておらず、値が追加されていない場合はエラーをスローします。しかし、配列が単に空であれば、宣言した場合と同様にエラーは発生しません。