在PHP中获取两个数组之间的差异

时间:2015-01-04 06:17:11

标签: php arrays array-difference

 $array1= array( array( 'StudentId' => 1 ),array( 'StudentId' => 2 ) ) ;
 $array2= array (array ( 'StudentId' => 1 )) ;

我需要区分$ array1& $ array2和output必须如下所示。

Array ( [0] => Array ( [StudentId] => 2 ) )

3 个答案:

答案 0 :(得分:3)

这是你要找的吗?

$array1 = array( array( 'StudentId' => 1 ), array( 'StudentId' => 2 ) );
$array2 = array( array( 'StudentId' => 1 ));

var_dump(array_diff_key($array1, $array2));

输出:

array(1) { [1]=> array(1) { ["StudentId"]=> int(2) } }

答案 1 :(得分:2)

我解决了这个问题,

$array1 = array( array( 'StudentId' => 1 ), array( 'StudentId' => 2 ) );
$array2 = array( array( 'StudentId' => 1 ));
foreach($array1 as $a=>$val){
     if(in_array($val,$array2)){
          unset($array1[$a]);
     }
}

var_dump(array_values($array1));

答案 2 :(得分:1)

查看http://php.net/manual/en/function.array-diff.php

  

array array_diff(array $ array1,array $ array2 [,array $ ...])

     

将array1与一个或多个其他数组进行比较并返回   array1中的值,不存在于任何其他数组中。