当你有一个像下面这样的 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);
The php manual on foreach loops
关于PHP foreach 更改数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835856/