【从入门到放弃-PHP】foreach 引用的坑
背景描述
先看一段代码。
$arr = [
'jack' => '20',
'tom' => '21',
'marry' => '54',
'less' => '23'
];
foreach ($arr as &$val) {
echo $val;
}
foreach ($arr as $val) {
echo $val;
}
print_r($arr);
想一下应该输出什么呢?
运行一下脚本,真实结果和你想的是否一致呢?
在foreach中使用了引用后再次foreach发现$arr['less']的值变成了54,常规理解应该是23才对。
猜测可能是因为使用引用导致该值变为54 但本着知其然更要知其所以然 我们一起追一下php源码 是什么原因导致的
