当您使用类似下面的foreach循环时,我知道您可以通过$array[$key]
更改数组的当前元素,但是否也有一种通过$value
来直接更改它的方法?
foreach($array as $key => $value){
}
可能很简单,但是我对PHP还很陌生,请不要因为我的问题而生气 :)
如果您想直接为$value
赋值,您需要在其前面加上&
,像这样引用$value
:
foreach($array as $key => &$value){
$value = 12321; //the same as $array[$key] = 12321;
}
unset($value);
在 foreach
循环结束后,应该执行 unset($value)
,因为在循环后仍然可以访问它。$value
。 下面的例子是不起作用的:foreach(array(1, 2, 3) as $key => &$value){
$value = 12321; //the same as $array[$key] = 12321
}
unset($value);