php的foreach使用&引用数组最后一个元素的 $value 引用在 foreach...
发布网友
发布时间:2024-05-03 02:13
我来回答
共1个回答
热心网友
时间:2024-06-02 10:32
你好!
这段代码中有2个foreach循环。产生这个结果的原因是引用变量没有进行释放造成的。1. 第一个foreach循环,使用了&$value的写法,我们理解为指针变量,当循环结束后,
它指向的是数组中最后一个元素,即$arr[5],此时它的值为12.
2. 第二个foreach循环,相当于每次循环都给$value进行赋值, 由于$value的引用没有释放,
那么就是间接的为arr[5]进行赋值,它每次的循环结果如下:
2,4,6,8,10,2
2,4,6,8,10,4
2,4,6,8,10,6
2,4,6,8,10,8
2,4,6,8,10,10很好解决,就是在第一次foreach循环结束后,释放$value的引用,即unset($value);
希望对你有帮助!