PHP の foreach ステートメントは、配列またはオブジェクト コレクション内の各要素に対して埋め込みステートメント グループを繰り返します。これは、コレクションを反復処理して必要な情報を取得するために使用されます。予期しない動作を避けるためのコレクションです。構文は「foreach(変数としての配列)ループ本体」です。
foreach ステートメントは、オブジェクトの配列またはコレクション内の要素ごとに、埋め込みステートメントのグループを繰り返します。 foreach ステートメントは、必要な情報を取得するためにコレクションを反復処理するために使用されますが、予期しない副作用を避けるために、コレクションの内容を変更するために使用しないでください。
該当するプログラミング言語カテゴリ: Java、C#、PHP、D 言語 (Phobos ライブラリ)。
foreach ステートメントは C# の新しいループ ステートメントで、配列やコレクションなどのデータ型を処理する場合に特に便利です。
foreach ステートメントの一般的な構文形式は次のとおりです。
foreach(数据类型 标识符 in 表达式) { 循环体2 }。
php 4 では、Perl や他の言語とよく似た foreach 構造が導入されています。これは、配列を反復処理するための単なる便利な方法です。 foreach は配列でのみ使用でき、他のデータ型または初期化されていない変数で使用しようとするとエラーが発生します。 2 つの構文があり、2 番目の構文は重要度は低いですが、最初の構文を拡張したものです。
foreach (array_expression as $value) ステートメント
最初の形式は、指定された array_expression 配列を反復処理します。ループを通過するたびに、現在のセルの値が $value に割り当てられ、配列内のポインターが 1 ステップ前に移動します (そのため、次のループで次のセルが取得されます)。
foreach (array_expression as $key => $value) ステートメント
2 番目の形式でも同じことを行いますが、現在のユニットのキー名もbe in 変数 $key が各ループに割り当てられます。
PHP 5 以降では、オブジェクトをトラバースすることも可能です。注: foreach の実行が開始されると、配列内のポインターは自動的に最初の要素を指します。これは、foreach ループの前にreset()を呼び出す必要がないことを意味します。
注: 配列が参照されない限り、foreach は配列自体ではなく、指定された配列のコピーを操作します。したがって、配列ポインタは each() 構造体によって変更されず、返された配列単位を変更しても元の配列には影響しません。ただし、元の配列の内部ポインタは、配列の処理中に前方に移動します。 foreach ループが最後まで実行されると仮定すると、元の配列の内部ポインターは配列の末尾を指すことになります。
PHP 5 以降では、$value の前に & を追加することで、配列のセルを簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。
<?php $arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; } // $arr is now array(2, 4, 6, 8) ?>
このメソッドは、走査される配列が参照できる場合 (たとえば、変数である場合) にのみ使用できます。
注: foreach では、「@」を使用してエラー メッセージを抑制する機能はサポートされていません。
ユーザーは次のコードに同じ機能があることに気づいたかもしれません:
<?php $arr = array("one", "two", "three"); reset($arr); while (list(, $value) = each($arr)) { echo "Value: $value<br>/n"; }foreach ($arr as $value) { echo "Value: $value<br />/n"; } ?>
次のコードにも同じ機能があります:
<?php $arr = array("one", "two", "three"); reset($arr); while (list($key, $value) = each($arr)) { echo "Key: $key; Value: $value<br />/n"; }foreach ($arr as $key => $value) { echo "Key: $key; Value: $value<br />/n"; } ?>
推奨チュートリアル: "phpチュートリアル 》
以上がphp foreachの使い方は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。