php foreach用&引用后需要unset
$arr = [1, 2, 3, 4];
foreach ($arr as &$v) {
$v = $v * 2;
}
var_dump($arr);
结果:
array(4) { [0]=> int(2) [1]=> int(4) [2]=> int(6) [3]=> &int(8) }
unset后的结果
$arr = [1, 2, 3, 4];
foreach ($arr as &$v) {
$v = $v * 2;
}
unset($v);
var_dump($arr);
array(4) {
[0]=>
int(2)
[1]=>
int(4)
[2]=>
int(6)
[3]=>
int(8)
}
转载:https://blog.csdn.net/tuzhenlong/article/details/89669761
数组最后一个元素的 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁
数组最后一个元素$arr = array( 1 , 2 , 3 , 4 );
foreach ( $arr as & $value ) {
$value = $value * 2 ;
}
// $arr is now array(2, 4, 6, 8)
// 最后取消掉引用的 引用在 foreach 循环之后仍会保留。建议使用 unset() 来将其销毁
unset( $value );
转载:https://www.cnblogs.com/meibao/archive/2004/01/13/6380809.html
foreach($data as $k => $v){
.........
......
......
unset($data[$k])
}


浙公网安备 33010602011771号