如何基于密钥在PHP中合并两个JSON数组

时间:2016-10-16 16:48:26

标签: php arrays

我有两个数组

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'}
);

任何帮助?

1 个答案:

答案 0 :(得分:0)

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);