$array1= array( array( 'StudentId' => 1 ),array( 'StudentId' => 2 ) ) ;
$array2= array (array ( 'StudentId' => 1 )) ;
I need to get difference between $array1 & $array2 and output must be as follow.
Array ( [0] => Array ( [StudentId] => 2 ) )
I solved this as following,
$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));
Is this what you're looking for?
$array1 = array( array( 'StudentId' => 1 ), array( 'StudentId' => 2 ) );
$array2 = array( array( 'StudentId' => 1 ));
var_dump(array_diff_key($array1, $array2));
Output:
array(1) { [1]=> array(1) { ["StudentId"]=> int(2) } }
Take a look at http://php.net/manual/en/function.array-diff.php
array array_diff ( array $array1 , array $array2 [, array $... ] )
Compares array1 against one or more other arrays and returns the values in array1 that are not present in any of the other arrays.