瀏覽網頁看到一段代碼比較有意思就畫圖解析了一下
代碼比較簡單如下
$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