1

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

$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. 如果键仅在 $update_array 中,则键及其值都将复制到 $base_array 中。

有没有捷径可以做到这一点?非常欢迎任何提示或代码。

问题 2:除此之外,是否有一种快速的方法来可视化来自两个数组的键的联合列表,而不会重复?只是键,没有值。

4

1 回答 1

1

问题一:

这正是这样array_merge()做的:

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

问题2:

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

$keys = array_keys(array_merge($base_array,$update_array));
于 2013-10-21T05:40:18.280 回答