2017-08-28 15 views
3

私は変数が初期化された空の配列であるとしましょう。PHPでサブアレイを初期化する必要はありますか?

for ($row in $someOtherArray) { 
    $cache[$row['id']][] = $row['data']; 
} 
:この配列の

$cache = []; 

データは次のように作成することができ、例えば(粗製のコードと変数/キー名を言い訳してください、彼らはこの例のみのためにここにいます)

$cacheはPHP配列なので、配列としても$cache[$row['id']]を初期化する必要はありません。しかし、私は時には次のようなコードに遭遇します。

for ($row in $someOtherArray) { 
    if (!isset($cache[$row['id']])) { 
     $cache[$row['id']] = []; 
    } 

    $cache[$row['id']][] = $row['data']; 
} 

上記のサブ配列は、明示的に空の配列として初期化されています。それはどういうわけですか?例えば、それは何らかの形で通訳者を助けるのですか?それとも、開発者だけが過激であるのでしょうか?

+4

[[[]]で値を追加する前にPHP配列を宣言する必要がありますか?(https://stackoverflow.com/questions/8246047/is-it-necessary-to-declare-php-array) - 前に値を加算する) – Tschallacka

答えて

0

変数を配列として初期化したら、その変数に対して配列固有のメソッドを使用できます。例えば、array_push()、array_map()など。

4

PHPに関する限りは不要です。 PHPは暗黙的に、$foo[$bar][]構文を使用して、任意の数のサブ配列を作成します。ビジネスロジックではが必要ですが、この特定の構成では必要ありません。それは単にここで冗長です。値の割り当てが何らかの形で別個のロジックであるが、それでもキーのために少なくとも空の配列が存在することを確認したいのであれば、それは意味をなさない唯一の時間です。

関連する問題