ホームページ >バックエンド開発 >PHPチュートリアル >PHPの関数 - foreach()_PHPチュートリアルの使い方の詳細説明

PHPの関数 - foreach()_PHPチュートリアルの使い方の詳細説明

WBOY
WBOYオリジナル
2016-07-21 15:03:55858ブラウズ

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;
}
?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/327824.html技術記事 PHP 4 では、Perl や他の言語と同様に、foreach 構造が導入されました。これは、配列を反復処理するための単なる便利な方法です。 foreach は、他のデータ型または...
で使用しようとする場合、配列でのみ使用できます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。