PHP foreach 更改数组值

标签 php foreach

当你有一个像下面这样的 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/

相关文章:

php - 单元测试套件需要多少内存?

c++ - 在 for-each 循环中使用 getter 是否效率低下?

javascript - 删除 javascript map 的 forEach 循环中的条目是否安全?

javascript - 如何从laravel Blade循环获取jQuery的变量类名

php - 使用 phpmailer 从 Gmail 发送电子邮件。登录错误

php - bind_param() 函数出错

嵌套数组中的PHP foreach循环

php - 根据列值对子数组进行分组

c# - Html Agility Pack 将表解析为对象

php - MySQL 1 到多。仅显示第一个表中的 1 个结果