比如在做循环的时候,需要引用$v进行赋值的时候,循环了很多次,都是引用的$v
那么你一开始查出来的$product_list的末尾数据可能会重复,或者说被错误赋值
$product_list = 'select * from product';//这里简略代码了
foreach ($product_list as &$v) {
}
foreach ($product_list as &$v) {
}
foreach ($product_list as &$v) {
}
原因就是多次引用$V 同一个引用值
解决方法有三种,
1,在每一次循环引用的时候引用值要变换,可以用$j,$i,$abcdef......总之不重复的话就没问题
2,再一个就是在循环引用之后 把引用的值删掉 ,再循环的时候再引用$v就不会出现错误
foreach ($product_list as &$v) {
$v['id'] = 1;
}
unset($v);
3,在循环的时候换一个写法
foreach ($product_list as $k => &$v) {
$product_list[$k]['id'] = 1;
}
foreach 循环数据引用$v 被错误覆盖
最新推荐文章于 2023-11-26 22:59:51 发布