PHP 比较两个多维数组并检查重复项


php compare two multidimensional array and check for duplicate

我有两个数组

$array1 = array(
    0 => array(
        'user' => 'user0',
        'id' => 'id0'
    ),
    1 => array(
        'user' => 'user1',
        'id' => 'id1'
    ),
    2 => array(
        'user' => 'user2',
        'id' => 'id2'
    )
);
$array2 = array(
    0 => array(
        'emp' => 'emp0',
        'id' => 'id3'
    ),
    1 => array(
        'emp' => 'emp1',
        'id' => 'id1'
    ),
    2 => array(
        'emp' => 'emp2',
        'id' => 'id2'
    )
);

我需要先循环数组 2,然后 d 将 Array1 中的 ID 输入到数组 1,并搜索 arr1 中的 ID1 的值是否存在于数组 2

也许这可以工作?(如果我正确理解了你的问题)

$id_arr = array();
$final_arr = array();
checkArray($array1, $id_arr, $final_arr);
checkArray($array2, $id_arr, $final_arr);
function checkArray($arr, &$id_arr, &$final_arr) {
  foreach ($arr as $key => $value) {
    if (!in_array($value['id'], $id_arr)) {
      $id_arr[] = $value['id'];
      $final_arr[] = $value;
    }
  }
}
var_dump($final_arr);