1

先日、このphp構文に遭遇しましたが、よく知りません。私はそれがプッシュをするかもしれないと*推測しました、しかし私は本当に知りません。これは*まったく同じですかarray_push($b)。*似たようなことを成し遂げているのなら、それがどのように違うのか説明してください。

    $foo = array();
    foreach($bar as $b)
    {
        $foo[] = $b; //push?
    }
4

2 に答える 2

4

唯一の違いは、配列に追加するためarray_push()に言語構造を使用する場合と関数呼び出しを行う場合のわずかな余分なオーバーヘッドです。[]それらは機能的に同等です。

その関数呼び出しからのそれらの違いは、何百万回も実行しない限り、気にする必要がないほど非常に小さいものになります。

于 2012-05-02T20:52:11.980 に答える
2

$foo[] = $b関数呼び出しのオーバーヘッドにより、わずかに高速になります(マイケルが以下で述べたように)。

さらに、マニュアルに記載されているように、 array_push の最初の引数が配列でない場合、通知が発生します。配列ブラケット表記を使用すると、新しい配列がまだ存在しない場合に単純に作成されます。

于 2012-05-02T20:57:07.227 に答える