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])
} 

 

 

posted @ 2020-12-15 17:28  搬砖小伙子  阅读(422)  评论(0)    收藏  举报