无法使用foreach循环将键值数组设置为数组

时间:2017-05-20 03:19:54

标签: php arrays foreach

<?php
$array = array(
    array('key' => 'value'),
    array('key' => 'value'),
    array('key' => 'value')
);

foreach($array as $a) {
    $a['anotherkey'] = 'anothervalue';
}
?>

我正在尝试将另一个键值(&#39;另一个键&#39; =&gt;&#39;另一个值&#39;)添加到$ array中的每个数组中。但是上面的代码不起作用,我似乎无法弄清楚原因,是因为$ a [&#39;另一个键&#39;]无法将值添加到真实数组中?使用foreach循环将keyvalue对添加到$ array中的每个数组中的正确方法是什么?谢谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

 $array = array(
   array('key' => 'value'),
   array('key' => 'value'),
   array('key' => 'value')
);

foreach($array as &$a) {
  $a['anotherkey'] = 'anothervalue';
}

print_r($array);
  

上面使用的Pass By Reference。请在此处阅读:http://php.net/manual/en/language.references.pass.php

希望这有帮助。