PHPforeachループ。
はじめに
foreach ステートメントは、PHPが提供するループ構造の1つです。他のループステートメント(while、do while、for)は、条件付きループまたはカウントループを形成するために使用されます。一方、foreachループは、配列構造を反復処理するのに非常に便利です。 foreachステートメントの使用法は次のとおりです-
構文
foreach (array_expression as $value) statement foreach (array_expression as $key => $value) statement
foreachの最初の形式は、インデックス付き配列の要素を反復処理します。各反復で、$value変数は配列内の現在の要素に設定されます。 PHPは、配列の最後に到達するまで、次の要素に進むことによって内部ポインタを追跡します。各要素の値は、foreachステートメントに続くループの本体によって処理されます
2番目の形式は、連想配列の走査に適しています。反復するたびに、現在の要素が$key変数と$value変数で解凍されます。ループの本体が処理された後、配列が使い果たされるまで、配列ポインターは次のキーと値のペアに進みます。
次の例では、foreachループを使用してインデックス付き配列をトラバースします
例
<?php $arr = array(2,4,6,8,10); foreach ($arr as $i){ echo $i . "*2=" . $i*2 . "\n"; } ?>
出力
これにより、次の結果が生成されます-
2*2=4 4*2=8 6*2=12 8*2=16 10*2=20
次の例は、foreachループを使用した連想配列の走査を示しています
例
<?php $arr = array("Phy"=>50, "Che"=>60, "Maths"=>70, "Bio"=>80); foreach ($arr as $sub=>$marks){ echo "marks in $sub: " . $marks . "\n"; } ?>
出力
これにより、次の結果が生成されます-
marks in Phy: 50 marks in Che: 60 marks in Maths: 70 marks in Bio: 80
2次元配列は、ネストされたforeachループを使用してトラバースされます
例
<?php $arr1=[1,2,3,4,5]; $arr2=[6,7,8,9,10]; $twodim=[$arr1,$arr2]; foreach ($twodim as $row){ foreach ($row as $col){ echo $col . " "; } echo "\n"; } ?>
出力
これにより、次の結果が生成されます-
1 2 3 4 5 6 7 8 9 10
例
次の例では、連想配列の2次元配列をトラバースします
例
<?php $arr1=["rno"=>1, "name"=>"Kiran", "marks"=>50]; $arr2=["rno"=>2, "name"=>"anil", "marks"=>60]; $arr3=["rno"=>3, "name"=>"Bina", "marks"=>70]; $twodim=[$arr1,$arr2, $arr3]; foreach ($twodim as $row){ foreach ($row as $k=>$v){ echo $k . ":" . $v . " "; } echo "\n"; } ?>
出力
これにより、次の結果が生成されます-
rno:1 name:Kiran marks:50 rno:2 name:anil marks:60 rno:3 name:Bina marks:70
-
C#のforeachループ
foreachループは、System.Collections.IEnumerableまたはSystem.Collections.Generic.IEnumerableインターフェイスを実装するタイプのインスタンスの各要素に対してステートメントまたはステートメントのブロックを実行します。 例 foreachループの例を見てみましょう- using System; using System.Collections.Generic; public class Demo { public static void Main(){ Li
-
foreachループでC#StringBuilderを繰り返す
まず、文字列配列とStringBuilder-を設定します // string array string[] myStr = { "One", "Two", "Three", "Four" }; StringBuilder str = new StringBuilder("We will print now...").AppendLine(); ここで、foreachループを使用して反復します- foreach (string item in myStr) { str