php foreach循环关于&引用的问题


$a =1;
$b = $a;
$b=2;
$a=1;
此时 2赋值给$b $a还是1
$a = 1;
$b=&$a;
$b=2;
$a=2;
此时 $b赋值给2 $a变成2

第一次循环 一 $arr[0]= int(1)
二 $arr[1] = int(2)
三 $arr[2]=&int(3)=$v 此时$v=3; 这个时候$v是引用的
第二次循环  一     $v = $arr[0]   1       $v=1
            二    $v=$arr[1]   2     $v =2 这个时候$v是等于2的
            三   $v=$arr[2]     2   $v =2 这个时候$v是赋值的
此时$arr[2]是等于$v的 并且随着$v的变化而变化

当不是引用的时候 就是赋值的时候 $arr[2] 就是3

php手册也有说明  尽量不要使用 如果使用要用unset()销毁


原理实现


猜你喜欢

转载自blog.csdn.net/sunsijia21983/article/details/77527819