理解下PHP的循环
看了一道题:
$array = array(3,6,7,8); foreach ($array as $key => $item) { $array[$key + 1] = $item + 2; } print_r($array);
输出是:3,5,8,9,10
作为前端的我很不能理解。。。这是怎么循环出来的?用个更好理解的方式来一遍,js~
a.forEach( (num ,sub)=> { a[sub + 1] = num + 2; })
结果输出:3,5,7,9,11。看来php的循环机制是有区别的,于是进行了钻研,最终得出一条结论:
循环的时用的是旧数组,最终输出新的数组。
这时又有疑问了,foreach 是这样,那 for 呢?作为初学者,马上手敲了一遍:
$array = array(3,6,7,8); for($i = 0; $i < count($array); $i++) { $array[$i + 1] = $array[$i] + 2; echo $i; } print_r($array);
结果得到了死循环,得出的结论是:立即更新数组数据。
又想到了拿js验证下:
for(var i = 0; i < a.length - 1; i++ ) { a[i+1] = a[i] + 2; }
js 到4次后就停止了。php的循环机制跟js是不同的!待续。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现