Skip to content

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>";
}
?>

注意事项

  1. foreach 循环是遍历数组的最简洁方式
  2. 对于索引数组,for 循环和 foreach 循环都可以使用
  3. 对于关联数组,只能使用 foreach 循环
  4. 遍历大型数组时,foreach 循环的性能通常更好
  5. 在 foreach 循环中修改数组元素不会影响循环的继续执行

练习

  1. 使用 for 循环遍历一个索引数组
  2. 使用 foreach 循环遍历一个关联数组
  3. 使用嵌套循环遍历一个二维数组

© 2026 编程马·菜鸟教程 版权所有