浏览网页看到一段代码比较有意思就画图解析了一下
代码比较简单如下
$arr = [ 11, 22, 33 ];
foreach($arr as &$val)
{
var_dump(current($arr));
echo PHP_EOL;
echo $val . ' ';
}
echo PHP_EOL;
foreach($arr as $val)
{
var_dump(current($arr));
echo PHP_EOL;
echo $val . PHP_EOL;
}
运行结果如下:
图解如下:
更详细的理论解释可以参考如下文章:
代码原地址: https://www.supjos.cn/archives/68.html
深入理解PHP原理之foreach http://www.laruence.com/2008/11/20/630.html
PHP中文网 https://www.php.cn/php-weizijiaocheng-388806.html
PHP7 与 PHP5 foreach 函数的区别 https://blog.csdn.net/qq_36431213/article/details/72834360