php - PHP数组: How to add 'key & value' to an existing array

标签 php arrays key-value array-push

我不知道如何向现有数组添加键和值。我的数组是这样的。最初,我尝试使用array_push()进行添加,但没有按我的需要添加。

我给出了“var_dump”之后,就给出了输出。

array (size=6)
  0 => 
    array (size=3)
     'id' => int 7
      'title' => string 'Pongal' (length=6)
      'start' => string '2016-05-16' (length=10)
  1 => 
    array (size=3)
       'id' => int 8
      'title' => string 'big day' (length=7)
      'start' => string '2016-05-04' (length=10)
  2 => 
    array (size=3)
      'id' => int 9
      'title' => string 'marriage day' (length=12)
      'start' => string '2016-05-19' (length=10)
  3 => 
    array (size=3)
      'id' => int 10
      'title' => string 'Karthiks  bday' (length=14)
      'start' => string '2016-06-11' (length=10)
  4 => 
    array (size=3)
      'id' => int 12
     'title' => string 'Election date announced' (length=23)
      'start' => string '2016-06-01' (length=10)

现在,我想在每个数组的所有元素之后插入array('sample_key'=>'sample_value')。

我该怎么做?这是我想要的结果是这样的:
array (size=6)
  0 => 
    array (size=3)
       'id' => int 7
      'title' => string 'Pongal' (length=6)
       'start' => string '2016-05-16' (length=10)
       ‘color’ => ‘red’
  1 => 
    array (size=3)
      'id' => int 8
      'title' => string 'big day' (length=7)
      'start' => string '2016-05-04' (length=10)
      ‘color’ => ‘red’
  2 => 
    array (size=3)
      'id' => int 9
      'title' => string 'marriage day' (length=12)
      'start' => string '2016-05-19' (length=10)
      ‘color’ => ‘red’
  3 => 
    array (size=3)
      'id' => int 10
      'title' => string 'Karthiks  bday' (length=14)
      'start' => string '2016-06-11' (length=10)
      ‘color’ => ‘red’
  4 => 
    array (size=3)
      'id' => int 12
      'title' => string 'Election date announced' (length=23)
      'start' => string '2016-06-01' (length=10)
      ‘color’ => ‘red’

请注意,我已经为所有索引添加了'color'=>'red'

最佳答案

只需执行以下操作:Working demo

使用&可以更改主数组,只需使用$val['color'] = 'red'在数组中添加新的key值对即可。

foreach($arr as $key => &$val){
    $val['color'] = 'red';
}

请注意,即使在循环结束后,“&”号的“写回”功能仍然存在:将$val重置为新值将更改$val中的最后一个元素,这通常是意外的。解决此类错误的方法有三种:
  • 避免回写,而只使用完整的数组表达式在循环内写入值;
  • 即使在另一个$val循环中,也不要在相同范围内重复使用foreach()变量;
  • unset()变量上使用$val将其与要写回的数组断开连接。
  • 关于php - PHP数组: How to add 'key & value' to an existing array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37344213/

    相关文章:

    ruby-on-rails-3 - Rails i18n如何获取某个键的所有值?

    php - WordPress 插件如何区分 WordPress

    php - 在 ajax 弹出窗口中使用时,CKEditor 不工作

    javascript - 如何选择和更改按钮的颜色并在单击其他按钮时恢复为原始颜色

    javascript - 将计数追加到javascript字符串数组中的重复项

    php - 在 PHP 中填充多维数组

    json - 如何使用jq在JSON对象中的指定键后插入键值对?

    php - 我的代码应该每个 $age 变量的值,但它却回显单词 "age"?

    arrays - 不使用 `@tmp` 交换两个数组

    php - 在mysql上用foreach显示数据数组