【问题标题】:How to merge two JSON arrays in PHP based on a key [duplicate]如何基于键在PHP中合并两个JSON数组[重复]
【发布时间】:2017-02-25 15:15:13
【问题描述】:

我有两个数组

array1 = array(
  {'id' => '1', 'name' => 'A'},
  {'id' => '2', 'name' => 'B'},
  {'id' => '3', 'name' => 'C'},
  {'id' => '4', 'name' => 'D'}
);

array2 = array(
  {'id' => '1', 'flag' => '1'},
  {'id' => '3', 'flag' => '0'}
);

我需要根据'id'键合并它们,所以结果应该是

array1 =  array(
{'id' => '1', 'name' => 'A', 'flag' => '1'},
{'id' => '2', 'name' => 'B'},
{'id' => '3', 'name' => 'C', 'flag' => '0'},
{'id' => '4', 'name' => 'D'}
);

有什么帮助吗?

【问题讨论】:

标签: php arrays


【解决方案1】:
function merge_two_arrays($array1,$array2) {
    $data = array();
    $arrayAB = array_merge($array1,$array2);
    foreach ($arrayAB as $value) {
      $id = $value['id'];
      if (!isset($data[$id])) {
        $data[$id] = array();
      }
      $data[$id] = array_merge($data[$id],$value);
    }
    return $data;
  }

$master_array = merge_two_arrays($array1,$array2);

【讨论】:

    猜你喜欢
    • 2016-03-13
    • 2018-04-01
    • 2021-12-26
    • 1970-01-01
    • 2019-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-11-28
    相关资源
    最近更新 更多