Php 比较多维数组与数组_diff

Php 比较多维数组与数组_diff,php,arrays,Php,Arrays,我有2个数组,然后我想通过电子邮件密钥过滤它们。像这样 阵列1 array (size=5) 0 => array (size=3) 'name' => string 'Client 1' (length=8) 'email' => string 'client1@gmail.com' (length=17) 1 => array (size=3) 'name' => string 'C

我有2个数组,然后我想通过电子邮件密钥过滤它们。像这样

阵列1

array (size=5)
  0 => 
     array (size=3)
        'name' => string 'Client 1' (length=8)
        'email' => string 'client1@gmail.com' (length=17)
  1 => 
     array (size=3)
        'name' => string 'Client 2' (length=8)
        'email' => string 'client2@gmail.com' (length=17)
阵列2

array (size=3)
   0 => 
      array (size=4)
        'name' => string 'Client 3' (length=8)
        'email' => string 'client2@gmail.com' (length=17)
        'role_id' => float 3
   1 => 
      array (size=4)
        'name' => string 'Client 6' (length=8)
        'email' => string 'client6@gmail.com' (length=17)
        'role_id' => float 2
   2 => 
      array (size=4)
        'name' => string 'Client 7' (length=8)
        'email' => string 'client7@gmail.com' (length=17)
        'role_id' => float 3
我想过滤掉类似的邮件。结果如何返回如下所示:

array (size=2)
   0 => 
      array (size=4)
        'name' => string 'Client 6' (length=8)
        'email' => string 'client6@gmail.com' (length=17)
        'role_id' => float 2
   1 => 
      array (size=4)
        'name' => string 'Client 7' (length=8)
        'email' => string 'client7@gmail.com' (length=17)
        'role_id' => float 3
你可以用

If将过滤第一个数组,方法是将其元素与使用给定回调传递给
array\u udiff
的其他数组的元素进行比较。当回调对返回
0
时,将从结果中删除该元素

$result = array_udiff($arr2, $arr1, function ($a, $b) {
    return strcmp($a['email'], $b['email']);
});