PHP foreach循环。

介绍

的foreach语句是由PHP提供的循环结构之一。其他循环语句-while,do while和for-用于形成条件循环或计数循环。另一方面,foreach循环对于遍历数组结构非常方便。foreach语句的用法如下-

语法

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

foreach的第一种形式遍历索引数组中的元素。在每次迭代中,将$value变量设置为数组中的当前元素。PHP通过前进到下一个元素来跟踪内部指针,直到到达数组末尾为止。每个元素的值由foreach语句后的循环体处理

第二种形式适用于遍历关联数组。每次迭代都会在$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

使用嵌套的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

示例

在下面的示例中,将遍历二维数组的关联数组

示例

<?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