PHP 4 では、Perl や他の言語と同様に、foreach 構造が導入されました。これは、配列を反復処理するための単なる便利な方法です。 foreach は配列でのみ使用でき、他のデータ型または初期化されていない変数で使用しようとするとエラーが発生します。 2 つの構文があり、2 番目の構文は重要度は低いですが、最初の構文を拡張したものです。
コードをコピー コードは次のとおりです:
foreach (array_expression as $value)
ステートメント
foreach (array_expression as $key => $value)
ステートメント
最初の形式は反復されます。指定された array_expression 配列。 各ループでは、現在のセルの値が $value に割り当てられ、配列内のポインターが 1 ステップ前に進みます (つまり、次のループで次のセルが取得されます)。
2 番目の形式でも同じことを行いますが、現在のセルのキー名が各ループの変数 $key にも割り当てられる点が異なります。
PHP 5 以降、オブジェクトをトラバースすることも可能です。
注: foreach の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。これは、foreach ループの前にreset()を呼び出す必要がないことを意味します。
注: 配列が参照されない限り、foreach は配列自体ではなく、指定された配列のコピーを操作します。 foreach は配列ポインターにいくつかの副作用をもたらします。リセットされない限り、foreach ループ中またはループ後に配列ポインターの値に依存しないでください。
PHP 5 以降では、$value の前に & を追加することで配列の要素を簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。
コードをコピー コードは次のとおりです:
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
$value = $value * 2;
}
// $arr は array(2, 4, 6, 8)
?>
このメソッドは、走査されている配列が参照できる場合にのみ使用できます (たとえば、は変数です)。
コードをコピー コードは次のとおりです:
foreach (array(1, 2, 3, 4) as &$value) {
$value = $value * 2;
}
?>
http://www.bkjia.com/PHPjc/327824.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/327824.html技術記事 PHP 4 では、Perl や他の言語と同様に、foreach 構造が導入されました。これは、配列を反復処理するための単なる便利な方法です。 foreach は、他のデータ型または...
で使用しようとする場合、配列でのみ使用できます。