[MythBusters] PHP for / foreach / while のパフォーマンス比較
私のガールフレンドは、「そうですね、他の人が、PHP では for ではなく foreach を使用したほうがパフォーマンスが向上するため、良いと言っているのを聞きました。
私の最初の反応は、それは不可能だということでした、そして 2 番目の反応は他の人がなぜそのような結論に達するのか考えてみましょう。
子供たちの論文テストでは、おそらく次の形式を使用すると思います。
for($i=0; $i<count($array); $i++){
...
}
ログイン後にコピー
子供の論文、各ループ $array 内にあるものの数をカウントする必要がありますが、これはリソースを消費します。ただし、将来、特定のバージョンの PHP がこのメソッドを最適化しない限り、このメソッドを
$arraySize = count($array);
for($i=0; $i<$arraySize; $i++){
...
}
ログイン後にコピー
<🎜 の形式に変更します。 > PHP の foreach の内部最適化も同様であると推定されています。
次に、「for よりも foreach の方が効率的である」という見解を持つ子供たちの実験がどのように行われたかを調べるためにオンラインで調べたところ、次のような結果を見つけました。結果の例:
http://www.phpq.net/research/foreach-while-for.html
予想どおり、TA がテストしたとき、次の形式を使用しました:
for($i = 0; $i < count($arr); $i++){
$str .= $arr[$i];
}
ログイン後にコピー
TA の実験ケースを次のように変更しました:
$size = count($arr);
for($i = 0; $i < $size; $ i++) {
$str .= $arr[$i];
効率が向上します。