PHP foreach更改数组值

PHP foreach更改数组值,php,foreach,Php,Foreach,当您有下面这样的foreach循环时,我知道您可以通过$array[$key]来更改数组的当前元素,但是是否也有方法通过$value来更改它 foreach($array as $key => $value){ } 这可能真的很简单,但我对PHP很陌生,所以请不要对我的问题感到恼火:)要能够直接为$value赋值,您需要在$value前面加上&如下: foreach($array as $key => &$value){ $value = 12321; //the

当您有下面这样的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);


有一个函数,是内置的,因为早期版本的PHP被称为

应该是的副本。此外,我们可以简单地使用“foreach($array as&$value)”,而不需要$key。我希望这对你也有帮助。和平。