我需要比较两个关联数组。但这两个数组都有不同数量的索引键。
第一个数组是exclude数组,第二个数组有用户id列表。我需要实现的是,我只需要返回不在数组1中的具有user_id的项。我使用了array_diff_assoc(),但返回了错误的数组。
阵列1:
Array
(
[0] => Array
(
[a] => Array
(
[user_id] => 10080
)
)
[1] => Array
(
[a] => Array
(
[user_id] => 10074
)
)
)
阵列2:
Array
(
[0] => Array
(
[a] => Array
(
[mail_id] => 14
[user_id] => 10080
[error_status] => 0
[recipient_type] => I
)
)
[1] => Array
(
[a] => Array
(
[mail_id] => 14
[user_id] => 10059
[error_status] => 0
[recipient_type] => I
)
)
)
$result=array_diff_assoc($arr1,$arr2);
结果:
Array
(
[0] => Array
(
[a] => Array
(
[user_id] => 10080
)
)
)
您可以使用我在这里找到的这个函数,并使用array_udiff为您进行了修改。
function udiffCompare($a, $b)
{
return $a['a']['user_id'] - $b['a']['user_id'];
}
$arrdiff = array_udiff($array2, $array1, 'udiffCompare');
print_r($arrdiff);