1

そのため、数値が事前に入力された多次元が必要です。

for($m = 0; $m <= 149; $m++){
    for($n = 0; $n <= 99; $n++){
            $pitchDef[$m][$n] = 999;
    }
 }

しかし、PHPが事前に入力された配列を単純に読み取る方が速いでしょうか?

言い換えれば、phpが配列を読み取ったり作成したりする方が速いのでしょうか?

4

3 に答える 3

1
array_fill(0, 150, array_fill(0, 100, 999));

私はそれがあなたが得ることができるのと同じくらい速いとかなり確信しています..それはループのために2つよりはるかに速いです、しかし両方とも個別に実行されるときそれでも自明に速いです。

于 2013-03-08T08:20:22.587 に答える
1

これはarray_fill()に役立つかもしれません

于 2013-03-08T08:21:38.353 に答える
1

新しい変数をメモリに割り当てるたびに、最初にメモリがどのように必要かを調べ、次にシステムから割り当ててから書き込む必要があります。これらの3つのステップでは、書き込み自体(最後の操作)は読み取りと同じ(おそらく)時間ですが、さらに2つのステップがあるため、割り当て全体が長くなります。

配列がある場合、この例では、配列の大きさすら言わないので、PHPを書き込むたびに、配列全体の構造を変更し、要素にメモリを割り当ててから、それを書き込む必要があります。

少なくとも、最初はExplesionPillsが書いたように配列にメモリを割り当ててから、配列にアクセスすることができます。

最良のアイデアは、2つのメソッドを何度も実行して(「多く」はたとえば100万)実行して比較(「ベンチマーク」)し、実行時間を確認することです。

于 2013-03-08T08:22:01.933 に答える