ホームページ >バックエンド開発 >PHPチュートリアル >PHP の foreach() 関数は配列に限定されています use_PHP チュートリアル

PHP の foreach() 関数は配列に限定されています use_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:34:09838ブラウズ

これは、配列を反復処理するための単なる便利な方法です。 PHP の foreach() 関数は配列でのみ使用でき、他のデータ型または初期化されていない変数で使用しようとするとエラーが発生します。 2 つの構文があり、2 番目の構文は、最初の構文の小規模ではありますが便利な拡張です。

foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement

最初の形式は、指定された array_expression 配列を反復処理します。ループを通過するたびに、現在のセルの値が $value に割り当てられ、配列内のポインターが 1 ステップ前に移動します (そのため、次のループで次のセルが取得されます)。

2 番目の形式でも同じことを行いますが、現在のセルのキー名が各ループの変数 $key にも割り当てられる点が異なります。

PHP 5 以降、オブジェクトをトラバースすることも可能です。

注: PHP の foreach() 関数の実行が開始されると、配列内のポインターは自動的に最初のユニットを指します。これは、foreach ループの前にreset()を呼び出す必要がないことを意味します。

注: 配列が参照されない限り、PHP の foreach() 関数は配列自体ではなく、指定された配列のコピーに対して動作します。したがって、配列ポインタは each() 構造によって変更されず、返された配列セルを変更しても元の配列には影響しません。ただし、元の配列の内部ポインタは、配列の処理中に前方に移動します。 foreach ループが最後まで実行されると仮定すると、元の配列の内部ポインターは配列の末尾を指すことになります。

PHP 5 以降では、$value の前に & を追加することで配列のセルを簡単に変更できます。このメソッドは、値をコピーするのではなく、参照によって割り当てます。

<ol class="dp-xml"><li class="alt"><span><span class="tag"><</span><span> ?php   </span></span></li><li><span>$</span><span class="attribute">arr</span><span> = </span><span class="attribute-value">array</span><span>(1, 2, 3, 4);   </span></li><li class="alt"><span>foreach ($arr as &$value) {   </span></li><li><span>$</span><span class="attribute">value</span><span> = $value * 2;   </span></li><li class="alt"><span>}   </span></li><li><span>// $arr is now array(2, 4, 6, 8)   </span></li><li class="alt"><span class="tag">?></span><span>  </span></span></li></ol>

PHP の foreach() 関数のこのメソッドは、走査される配列が参照できる場合 (たとえば、変数である場合) にのみ使用できます。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/446012.html技術記事これは、配列を反復処理するための単なる便利な方法です。 PHP の foreach() 関数は配列でのみ使用でき、他のデータ型または初期化されていない変数で使用しようとするとエラーが発生します。 2種類あります…
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。