在写PHP程序时,经常会遇到需要重复做同一件事的情况。比如,要输出1到100每个数字,总不能手动写100行echo吧?这时候,循环语句就派上用场了。它能让代码自动重复执行,省时又省力。
while循环:条件满足就继续
while是最基础的一种循环。只要条件为真,它就会一直执行下去。比如想打印1到5这几个数,可以这样写:
$i = 1;
while ($i <= 5) {
echo $i . '<br>';
$i++;
}
这段代码会先判断$i是否小于等于5,是的话就执行花括号里的内容,每轮结束后$i加1,直到条件不成立为止。
do-while循环:先干再说
和while不同,do-while会先执行一次循环体,再判断条件。也就是说,哪怕条件一开始就不成立,也会至少执行一遍。
$i = 8;
do {
echo '这是第' . $i . '次<br>';
$i++;
} while ($i <= 10);
这个例子中,即使$i从8开始,也能顺利运行三次,输出8、9、10。
for循环:控制更精细
当你清楚知道循环次数时,for通常更方便。它把初始化、条件判断和递增都集中写在一行里,结构清晰。
for ($i = 1; $i <= 5; $i++) {
echo 'Hello 第' . $i . '次<br>';
}
这行代码的效果和第一个例子类似,但看起来更紧凑。适合处理数组遍历、固定次数操作等场景。
foreach循环:专为数组设计
PHP里处理数组特别常见,foreach就是为此而生的。比如你有一组用户名,想一个个打印出来:
$users = ['张三', '李四', '王五'];
foreach ($users as $name) {
echo '欢迎用户:' . $name . '<br>';
}
不需要关心下标,也不用手动计数,PHP会自动帮你遍历每一个元素。
跳出循环:break和continue
有时候不需要走完全程。比如在查找某个值时找到了就可以停下,用break就能立刻退出循环。
for ($i = 1; $i <= 10; $i++) {
if ($i == 6) {
break;
}
echo $i . '<br>';
}
这段代码只会输出1到5,碰到6就停止了。如果只是想跳过某一轮,比如不输出偶数,可以用continue:
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 == 0) {
continue;
}
echo $i . '<br>';
}
这样只输出奇数,偶数被跳过了。
循环是编程中的基本功,就像做饭时的切菜动作,熟练了之后写代码会顺手很多。刚开始可能容易忘记写递增,导致死循环,多练几次就熟悉了。