为什么我不能取消设置 a 中的变量foreach
loop?
<?php
$array = array(a,s,d,f,g,h,j,k,l);
foreach($array as $i => $a){
unset($array[1]);
echo $a . "\n";
}
print_r($array);
In the code http://codepad.org/rCeNevz5,该变量在范围内foreach
循环,但在循环之外它未设置。是否可以在循环内取消设置?
您需要通过引用传递数组,如下所示:
foreach($array as $i => &$a){
注意添加的&
。这在手册中也有说明foreach https://www.php.net/manual/en/control-structures.foreach.php:
为了能够在循环内直接修改数组元素
在 $value 之前加上 &。在这种情况下,该值将由以下方式分配
参考。
现在这个produces http://codepad.org/ve3yawZe:
a
d
f
g
h
j
k
l
Array
(
[0] => a
[2] => d
[3] => f
[4] => g
[5] => h
[6] => j
[7] => k
[8] => l
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)