跳至内容

循环结构

这篇讲 PHP 的四种循环结构——whiledo...whileforforeach——以及循环控制关键字 breakcontinue

while 循环

只要条件为 truewhile 就会持续执行代码块:

<?php
$x = 1;

while ($x <= 5) {
    echo "这个数字是:$x <br>";
    $x++;
}
?>

do…while 循环

while 的区别是——至少执行一次代码块,然后再检查条件:

<?php
$x = 1;

do {
    echo "这个数字是:$x <br>";
    $x++;
} while ($x <= 5);
?>
do...while 适合"先执行再判断"的场景,比如先从数据库读一条记录,再判断是否继续分页读取。

for 循环

当你知道循环的确切次数时,for 是最合适的选择:

for (初始值; 条件; 增量) {
    要执行的代码;
}

示例:

<?php
for ($x = 0; $x <= 10; $x++) {
    echo "数字是:$x <br>";
}
?>

foreach 循环

foreach 专用于遍历数组,是 PHP 中最常用的循环之一:

<?php
$colors = ["red", "green", "blue", "yellow"];

foreach ($colors as $value) {
    echo "$value <br>";
}
?>

遍历关联数组时,可以同时获取键和值:

<?php
$age = ["Bill" => "63", "Steve" => "56", "Elon" => "47"];

foreach ($age as $name => $value) {
    echo "Key=$name, Value=$value<br>";
}
?>
遍历数组时优先使用 foreach——它比 for($i=0;$i<count($arr);$i++) 更简洁,且不会因为不连续的索引而出错。详细信息参见 数组

break 与 continue

  • break:立即终止整个循环,跳出循环体
  • continue:跳过本次循环的剩余代码,进入下一次迭代
<?php
// break 示例:找到目标后停止
for ($i = 1; $i <= 10; $i++) {
    if ($i == 5) {
        echo "找到了,停止循环";
        break;
    }
    echo "$i <br>";
}
// 输出 1 到 4,然后输出"找到了,停止循环"

// continue 示例:跳过偶数
for ($i = 1; $i <= 5; $i++) {
    if ($i % 2 == 0) {
        continue;
    }
    echo "$i <br>";
}
// 只输出 1, 3, 5
?>

循环选型小结

循环类型适用场景
while不确定循环次数,依赖某个条件
do...while至少执行一次的场景
for已知循环次数或范围
foreach遍历数组、对象

一句话小结

四种循环各有适用场景:for 计次、while 条件驱动、do...while 先执行后判断、foreach 遍历数组。break 终止循环,continue 跳过本次。下一篇讲 函数

最后更新于