ホームページ >バックエンド開発 >PHPチュートリアル >php foreachの2つの使用例を詳しく解説
foreach() には 2 つの用途があります:
1:
foreach(array_name as $value){ statement; }
ここでの array_name は、走査する配列の名前です。各ループでは、array_name 配列の現在の要素の値が $value に割り当てられます。および配列内の値。添字は 1 ステップ下に移動します。つまり、次のループは次の要素に戻ります。
2:
foreach(array_name as $key => $value){ statement; }
この方法と最初の方法の違いは、追加の $key があることです。つまり、現在の要素の値を $value に割り当てることに加えて、現在の要素のキーの値が各ループで 変数 $key にも割り当てられます。キー値は添え字値または文字列にすることができます。たとえば、book[0] の "0"=1、book[id] の "id" = "001" です。
最初の形式と同じであることに加えて、2 番目の形式を見てみましょう。 2 番目の形式 配列内の要素の値を取得することに加えて、配列のインデックス値が手動で設定されていない場合は、要素の index 値を取得して $key 変数に保存することもできます。システムのデフォルト設定値に戻ります。
正の例を参照してください:
まず単純な 1 次元配列を見てみましょう:
$myArray=array("1"=>"val1","2"="val2","3"=>"val3"); foreach ($myArray as $key=>$val) { print($key."=>".$val.";"); }
プログラムは次のように出力します: 1=>val1;2=>val2 ;3=>val3; では、より複雑なものを見てみましょう 二次元配列が走査され、プログラムは次のようになります:
$myArray=array( "1"=>array("11"=>"val11","12"=>"val12","13"=>"val13"), "2"=>array("21"=>"val21","22"=>"val22","23"=>"val23"), "3"=>array("31"=>"val31","32"=>"val32","33"=>"val33") ); print("<ul>"); foreach( $myArray as $key=>$val) { print("<li>".$key."</li>"); if (is_array($val)) { //判断$val的值是否是一个数组,如果是,则进入下层遍历 print("<ul>"); foreach ($val as $key=>$val) { print("<li>".$key."=>".$val."</li>"); } print("</ul>"); } } print("</ul>");
出力結果:
1
11=>val11
12=>val12
13=>val13
2
21=>val21
22=>val22
23=>val23
3
31=>val31
32=>val32
33=&g t;val33
fbb15fe9dcb9e8e22292cecb9503b877 は、実線のドットと中空のドットを表示するために使用されるラベルです。
上記は2次元配列なので、1回目の走査後に得られる$valの値も配列になるので、2段目の配列走査用に走査に判定を追加しました。
以上がphp foreachの2つの使用例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。