PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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

  1. 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

  2. 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