foreach遍历的是对原数组的拷贝,我想问一下高手们 foreach在遍历时是先对原数组拷贝后再遍历还是随着指针一个个往下移动 一个个保存值的信息与键的信息 然后执行徇环输出?我是一个初学者 上面是我们老师讲的foreach执行顺序图 如果按照老师所讲的这个图的话 那么就是随着指针一个个往下移 一个个健值的复制然后输出。可是在foreach循环过程中对原数组进行更改 老师又说如果对原数组没有进行写操作Php内部优化是不会真正地对原数组进行了拷贝 如果进行了写操作就会对原数组进行了一份真的拷贝 我的疑问是 在进行foreach循环时指针本身就会移动 最后移动到非法位置 而为什么在循环过程中对原数组进行了拷贝 而原数组的指针没有动呢? 如下图上图当下标为1时 根据foreach循环图 指针会指向下标2的元素 可是当下标为1时会对原数组进行拷贝 拷贝的过程中不是指针会移动的吗 而这里为什么指针指向的却是进行写操作时指针所指向的元素呢?求解 急 谢谢各位了!