新版本:
git fetch --prune --prune-tags origin
如果不行再用下面的命令
git tag -l | xargs git tag -d git fetch
新版本:
git fetch --prune --prune-tags origin
如果不行再用下面的命令
git tag -l | xargs git tag -d git fetch
$a=[1,2,3]; foreach($a as &$v){ $v*=2; } foreach($a as $v){ } var_dump($a);
array(3) { [0]=> int(2) [1]=> int(4) [2]=> &int(4) }
解释:
第一个循环完成之后别名$v指向了数组的最后一个元素等价于:
$v=6; $a[2]=&v;
第二个循环一共有三次,每一次都给$v进行赋值操作,也就是每次都给$a[2]进行赋值操作,第一次循环的时候$a[2]=2,第二次循环$a[2]=4,第三次循环相当于把$a[2]的值赋给$a[2],所以还是4。
所以别名(引用)用完之后要记得unset掉,正确代码如下:
$a=[1,2,3]; foreach($a as &$v){ $v*=2; } unset($v); foreach($a as $v){ } var_dump($a);