この記事では、参考値となるPHPのforループとforeachの違いを中心に紹介します。以下のエディターで見てみましょう
forループとforeachの違いはIEnumerableに依存します
GetList()のvar aが初めて呼び出されるとき、GetEnumeratorが呼び出されて最初のオブジェクトが返され、代入されますto a,今後、GetList() の var a が実行されるたびに、ループが終了するまで MoveNext が呼び出されます。 GetList() メソッドは 1 回だけ実行されます
+View Code<p></p> For ループの一番下 list[3] が *(list + 3) と同等であることをマークします<p><code>+ View Code
for 循环靠下标定位. list[3] 相当于 *(list + 3).
+ View Code
+ コードを表示
or ループは GetCount() を呼び出して比較します。そして、foreach は長さを考慮しません。GetList() を一度だけ呼び出します。
長さが固定されている場合、または長さを固定する必要がない場合、for ループは foreach よりも効率的です。
長さが不確実な場合、または長さの計算でパフォーマンスが低下する場合は、foreach を使用する方が便利です
そして、foreach 中にコレクション内のオブジェクトはロックされません。
上記は、PHP の for ループと foreach の違いについて詳しく説明しています。詳しくは、PHP 中国語 Web サイト (www.php.cn) をご覧ください。