Menu
CoddyTech

foreach 循环

本课属于 Coddy PHP 学习旅程的“基础知识”单元。第 49 课,共 71 课。

处理数组时,你通常需要逐个遍历每个元素。虽然你可以使用带索引计数器的 for 循环,但 PHP 提供了更简洁的解决方案:foreach 循环。

PHP 的 foreach 循环专门用于遍历数组。许多语言都有类似的循环,在 PHP 中,它会自动计数,并让你直接访问每个元素。

<?php
$fruits = ["apple", "banana", "cherry"];

foreach ($fruits as $fruit) {
    echo $fruit . "\n";
}
?>

输出如下:

apple
banana
cherry

语法很简单:foreach ($array as $item)。每次循环时,数组中的下一个元素都会赋值给 $item,你可以在循环体中使用它。

将此与使用 for 循环实现相同结果进行比较:

<?php
$fruits = ["apple", "banana", "cherry"];

for ($i = 0; $i < count($fruits); $i++) {
    echo $fruits[$i] . "\n";
}
?>

foreach 版本更短,也更容易阅读。你不需要管理索引变量,也不用担心数组的长度:PHP 会帮你处理好这一切。

challenge icon

挑战

简单

读取一行输入,其中包含以逗号分隔的数字列表(例如,10,25,5,30,15)。

使用 foreach 循环遍历数组,并计算所有数字的总和。输出总和。

示例 1:

如果输入是 10,25,5,30,15,输出应为:

85

示例 2:

如果输入是 1,2,3,4,5,输出应为:

15

示例 3:

如果输入是 100,200,300,输出应为:

600

亲手试试

<?php
// 读取输入
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);

// TODO:在下方编写代码,用 foreach 循环计算总和
$sum = 0;


// 输出结果
echo $sum;
?>
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

基础知识中的所有课

自己练习: PHP 在线编译器