合并/更新具有重叠键的关联数组

时间:2013-10-21 05:33:25

标签: php

我有两个带字符串键的关联数组,如下所示:

$base_array = array(
'foo' => '42',
'bar' => '13');

$update_array = array(
'bar' => '14',
'blah' => '3.1415');

问题1:我想用$ update_array中的数据更新我的$ base_array,其方式如下:

  1. 如果一个键只在$ base_array中,而在$ update_array中,则其值保持不变;
  2. 如果某个键位于两个数组中,则其值将从$ update_array;
  3. 更新
  4. 如果某个密钥只在$ update_array中,则密钥及其值都将复制到$ base_array中。
  5. 有没有简短的方法来实现这一目标?任何提示或代码都非常受欢迎。

    问题2:除此之外,是否可以通过快速方式显示两个阵列的联合键列表,而无需重复?只是键,没有价值。

1 个答案:

答案 0 :(得分:1)

问题1:

这正是array_merge()的作用:

$new_array = array_merge($base_array,$update_array);

问题2:

要获取唯一键的数组,可以合并数组,然后使用array_keys()

$keys = array_keys(array_merge($base_array,$update_array));