可能重复:
PHP 在 foreach 中通过引用传递
为什么数组中两个项目的值都会发生变化?我只是想更改等于 $testitem 的键的值。
以下代码的所需结果: 项目:5 数量:12 项目:6 数量:2
以下代码的当前结果是: item:5 Quantity:12 item:6 Quantity:12
<?php
$items = array(
'5' => '4',
'6' => '2',
);
$testitem = '5';
$testvalue = '8';
foreach($items as $key => &$value)
{
if ($key == $testitem)
{
$value = $value + $testvalue;
}
}
foreach($items as $key => $value)
{
print 'item:'.$key.' Quantity:'.$value.'<br/>';
}
?>