PHP foreach 循环。
phpserver side programmingprogramming更新于 2025/7/18 17:37:17
简介
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 . "
";
}
?>
输出
这将产生以下结果 −
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 . "
";
}
?>
输出
这将产生以下结果 −
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 "
";
}
?>
输出
这将产生以下结果 −
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 "
";
}
?>
输出
这将产生以下结果 −
rno:1 name:Kiran marks:50 rno:2 name:anil marks:60 rno:3 name:Bina marks:70

