ホームページ >バックエンド開発 >PHPチュートリアル >PHP の foreach 配列に関するいくつかの問題 ループ_PHP チュートリアル
PHP の foreach() 構文構造は、操作または出力配列の走査に使用されます。foreach() は、配列またはオブジェクトの走査にのみ使用できます。他のデータ型または初期化されていない変数に使用しようとすると、エラーが発生します。
文法:
リーリー上記の構文では、各ループは現在のユニットの値を $value に代入し、配列内のポインターが 1 ステップ先に進みます。 2 番目の構文形式では、現在のユニットのキー名も各ループの変数 $key に割り当てられます。
通常、for ループは配列を反復処理するために使用されます。例:
リーリーただし、手動コードで大規模な配列を操作する場合、foreach ループを使用すると必要なコードは少なくなり、上記のコードは次のように記述できます。 リーリー
foreach の使用に関するいくつかの問題について詳しく説明しましょう。1. foreach での参照の使用。
通常の状況では、foreach の $arr と $value($arr as $value) はコピーであり、外部要因の影響を受けません。 リーリー
しかし、$arr が参照である場合、状況は異なります。問題を説明するためにコードを使用します。 リーリー
これは、ループで使用される $arr が元のデータをコピーするのではなく、直接ポイントしているためです。$value が参照であり、$arr が参照ではない場合、結果は同じになります。$value はコピーではなく元のデータを指します。
リーリー
別の特殊な状況があります。つまり、$arr がグローバル変数として定義されている場合、$arr も参照になります。 リーリー2. 配列を 2 回ループする場合は、このように記述してはなりません
リーリーこれにより、2 番目のループの結果が不正確になります (おそらく、PHP のバグです)。代わりに以下を使用できます:
リーリー3. foreach が未定義にならないようにするには、次のように foreach を書いてみます
れーれーhttp://www.bkjia.com/PHPjc/752450.html
www.bkjia.com