相关疑难解决方法(0)

为什么PHP的foreach一次推进其数组的指针(仅)?

这是一个好奇的问题,关于foreach在PHP中实现该方法背后的原因.

考虑:

$arr = array(1,2,3);
foreach ($arr as $x) echo current($arr) . PHP_EOL;
Run Code Online (Sandbox Code Playgroud)

这将输出:

2
2
2
Run Code Online (Sandbox Code Playgroud)

我明白将foreach数组指针倒回到开头; 但是,为什么它只增加一次呢?魔术盒里面发生了什么?这只是一个(丑陋的)人工制品吗?


感谢@NickC -为别人好奇zvalrefcount,您可以在基础读到这里

php

19
推荐指数
1
解决办法
1622
查看次数

标签 统计

php ×1