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