PHP 循环是编程的基础,不会循环就等于没学会编程。今天把 for、while、foreach 三种循环讲清楚,配实战例子。
for 循环是最常用的
for 循环适合知道循环次数的场景。比如你要输出 1 到 100,或者遍历一个数组。
基本语法不难。初始化一个变量,设置条件,每次循环后更新变量。条件为真就继续循环,为假就停止。
我刚开始学的时候,老是忘记写更新语句,结果死循环了。浏览器卡死,服务器 CPU 飙到 100%。所以写 for 循环一定要检查这三个部分:初始化、条件、更新。
while 循环适合不确定次数的场景
while 循环和 for 循环类似,但更灵活。它只关心条件,不关心循环次数。
比如你从数据库读取数据,不知道有多少条,用 while 循环就合适。读一条处理一条,读完了自动停止。
while 循环有个坑,就是容易忘记更新条件。我见过太多人写 while($i < 10),但循环体里从来不更新 $i,结果又是死循环。
foreach 是数组遍历神器
foreach 是 PHP 特有的循环,专门用来遍历数组。代码简洁,不容易出错。
遍历索引数组,直接拿值就行。遍历关联数组,键和值都能拿到。我平时写代码,80% 的循环都是 foreach。
foreach 有个好处,不用关心数组长度,不用担心越界。PHP 帮你处理好了,你只管用。
实战:输出乘法口诀表
这个例子经典,但很实用。两个 for 循环嵌套,外层控制行,内层控制列。
写的时候注意格式,每行输出完要换行。数字之间用制表符隔开,对齐好看。
这个例子面试经常考,建议动手写几遍。理解了嵌套循环,后面学二维数组就简单了。
实战:遍历用户列表
实际项目中,经常要遍历用户列表。从数据库查出来是数组,用 foreach 遍历最合适。
每个用户是个关联数组,有姓名、邮箱、注册时间。遍历时可以格式化输出,也可以做其他处理。
记得加个判断,数组为空时给个提示。不然页面空白,用户不知道发生了什么。
实战:统计数组元素
给一个数组,统计每个元素出现的次数。这个在实际项目中很常见,比如统计文章分类、用户地区。
思路不难。创建一个空数组,遍历原数组,每个元素作为键,出现次数作为值。第一次出现设为 1,后面每次加 1。
这个例子考察对数组和循环的理解,建议多写几遍。
循环可以嵌套
循环里面可以再套循环,就是嵌套循环。二维数组遍历、乘法口诀表都是嵌套循环的应用。
嵌套层数别太多,超过三层代码就很难读了。如果真的要嵌套这么多层,考虑重构一下,拆成多个函数。
嵌套循环的性能也要注意。外层循环 100 次,内层循环 100 次,总共就是 10000 次。数据量大的时候会慢。
别忘记跳出循环
有时候需要提前结束循环,用 break。比如找到了目标元素,没必要继续遍历。
如果想跳过本次循环,继续下一次,用 continue。比如过滤掉不符合条件的元素。
这两个关键字很简单,但很实用。我写代码经常用,能让逻辑更清晰。
最后说两句
循环是编程的基础,必须熟练掌握。
建议把这三个循环都写几遍,理解它们的区别和适用场景。后面学函数、面向对象,都会用到循环。
有具体问题可以在评论区留言,我会逐一解答。
作者:大佬虾 | 专注技术教程写作,分享建站实战经验

评论框