如果你有一个类似下面的foreach循环,我知道你可以通过改变数组的当前元素$array[$key],但是还有一种方法可以改变它$value吗?
foreach($array as $key => $value){
}
Run Code Online (Sandbox Code Playgroud)
它可能非常简单,但我对PHP很新,所以请不要被我的问题烦恼:)
为了能够直接赋值$value,你想$value通过&像前面这样引用它:
foreach($array as $key => &$value){
$value = 12321; //the same as $array[$key] = 12321;
}
unset($value);
Run Code Online (Sandbox Code Playgroud)
在后foreach循环,你应该做的unset($value),因为你仍然能够在循环后才能访问它.
注意:$value当数组是变量时,您只能通过引用传递.以下示例不起作用:
foreach(array(1, 2, 3) as $key => &$value){
$value = 12321; //the same as $array[$key] = 12321
}
unset($value);
Run Code Online (Sandbox Code Playgroud)