急求:foreache遍历数组问题
程序员文章站
2024-02-08 12:27:10
...
foreach遍历的是对原数组的拷贝,我想问一下高手们 foreach在遍历时是先对原数组拷贝后再遍历还是随着指针一个个往下移动 一个个保存值的信息与键的信息 然后执行徇环输出?
我是一个初学者 上面是我们老师讲的foreach执行顺序图 如果按照老师所讲的这个图的话 那么就是随着指针一个个往下移 一个个健值的复制然后输出。
可是在foreach循环过程中对原数组进行更改 老师又说如果对原数组没有进行写操作Php内部优化是不会真正地对原数组进行了拷贝 如果进行了写操作就会对原数组进行了一份真的拷贝 我的疑问是 在进行foreach循环时指针本身就会移动 最后移动到非法位置 而为什么在循环过程中对原数组进行了拷贝 而原数组的指针没有动呢?
如下图
上图当下标为1时 根据foreach循环图 指针会指向下标2的元素 可是当下标为1时会对原数组进行拷贝 拷贝的过程中不是指针会移动的吗 而这里为什么指针指向的却是进行写操作时指针所指向的元素呢?求解 急 谢谢各位了!
我是一个初学者 上面是我们老师讲的foreach执行顺序图 如果按照老师所讲的这个图的话 那么就是随着指针一个个往下移 一个个健值的复制然后输出。
可是在foreach循环过程中对原数组进行更改 老师又说如果对原数组没有进行写操作Php内部优化是不会真正地对原数组进行了拷贝 如果进行了写操作就会对原数组进行了一份真的拷贝 我的疑问是 在进行foreach循环时指针本身就会移动 最后移动到非法位置 而为什么在循环过程中对原数组进行了拷贝 而原数组的指针没有动呢?
如下图
上图当下标为1时 根据foreach循环图 指针会指向下标2的元素 可是当下标为1时会对原数组进行拷贝 拷贝的过程中不是指针会移动的吗 而这里为什么指针指向的却是进行写操作时指针所指向的元素呢?求解 急 谢谢各位了!
回复讨论(解决方案)
mark 搭车学习下foreach的原理.
一直不懂这些, 在我眼里foreach()后的current()指向数组中的最后一项不是很正常的吗
说错 指向循环的最后一项
推荐阅读
-
急求:foreache遍历数组问题
-
[急]求助:在使用SVN版本控制中出现严重的问题,求原因,
-
[急求]ubuntu下使用php调用ffmpeg转换视频格式、抽帧、摄像头实时录入不成功,是php设置问题?还是代码的问题?
-
php有关问题,求急求,多谢各位大神
-
数组处理有关问题,求优化
-
求个php数组验证问题,在线等
-
[急]求助:在使用SVN版本控制中出现严重的问题,求原因,
-
急求高手解决CSS中的png背景图在IE6中透明度的问题!_html/css_WEB-ITnose
-
急求一个html问题 这个dreamweaver 写的button 怎么修改距离啊_html/css_WEB-ITnose
-
数组处理,急,求高手