Appearance
7.3 数组遍历 for /foreach
数组遍历是PHP中常见的操作,用于访问和处理数组中的每个元素。
使用 for 循环遍历索引数组
for 循环适合遍历索引数组,需要知道数组的长度。
php
$fruits = ["苹果", "香蕉", "橙子", "葡萄"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "<br>";
}使用 foreach 循环遍历数组
foreach 循环是遍历数组的最常用方法,适用于所有类型的数组。
遍历数组值
php
$fruits = ["苹果", "香蕉", "橙子", "葡萄"];
foreach ($fruits as $fruit) {
echo $fruit . "<br>";
}遍历数组键和值
php
$student = ["name" => "张三", "age" => 18, "grade" => "高三"];
foreach ($student as $key => $value) {
echo "$key: $value<br>";
}遍历二维数组
php
$students = [
["name" => "张三", "age" => 18],
["name" => "李四", "age" => 19],
["name" => "王五", "age" => 17]
];
// 使用for循环
for ($i = 0; $i < count($students); $i++) {
echo "学生 " . ($i + 1) . ":<br>";
foreach ($students[$i] as $key => $value) {
echo " $key: $value<br>";
}
}
// 使用嵌套foreach
foreach ($students as $index => $student) {
echo "学生 " . ($index + 1) . ":<br>";
foreach ($student as $key => $value) {
echo " $key: $value<br>";
}
}示例代码
php
<?php
// 索引数组遍历
echo "索引数组遍历:<br>";
$fruits = ["苹果", "香蕉", "橙子", "葡萄"];
// 使用for循环
echo "使用for循环:<br>";
for ($i = 0; $i < count($fruits); $i++) {
echo "索引 $i: " . $fruits[$i] . "<br>";
}
// 使用foreach循环
echo "<br>使用foreach循环:<br>";
foreach ($fruits as $index => $fruit) {
echo "索引 $index: " . $fruit . "<br>";
}
// 关联数组遍历
echo "<br>关联数组遍历:<br>";
$student = ["name" => "张三", "age" => 18, "grade" => "高三"];
foreach ($student as $key => $value) {
echo "$key: $value<br>";
}
// 二维数组遍历
echo "<br>二维数组遍历:<br>";
$students = [
["id" => 1, "name" => "张三", "age" => 18],
["id" => 2, "name" => "李四", "age" => 19],
["id" => 3, "name" => "王五", "age" => 17]
];
foreach ($students as $student) {
echo "ID: " . $student["id"] . ", 姓名: " . $student["name"] . ", 年龄: " . $student["age"] . "<br>";
}
?>注意事项
- foreach 循环是遍历数组的最简洁方式
- 对于索引数组,for 循环和 foreach 循环都可以使用
- 对于关联数组,只能使用 foreach 循环
- 遍历大型数组时,foreach 循环的性能通常更好
- 在 foreach 循环中修改数组元素不会影响循环的继续执行
练习
- 使用 for 循环遍历一个索引数组
- 使用 foreach 循环遍历一个关联数组
- 使用嵌套循环遍历一个二维数组
