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

时间:2012-06-06 06:39:26

标签: php

我有两个数组

$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,然后从array1向数组1输入id,并搜索arr1中id1的值是否存在于array2中

1 个答案:

答案 0 :(得分:0)

也许这可行吗? (如果我理解你的问题)

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