$array1= array( array( 'StudentId' => 1 ),array( 'StudentId' => 2 ) ) ;
$array2= array (array ( 'StudentId' => 1 )) ;
Мне нужно получить разницу между $ array1 & $ array2 и выходные данные должны быть следующими.
Array ( [0] => Array ( [StudentId] => 2 ) )
Это то, что вы ищете?
$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) } }
Я решил это следующим образом,
$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));
Взгляни на http://php.net/manual/en/function.array-diff.php
массив array_diff (массив $ array1, массив $ array2 [, массив $ …])
Сравнивает массив1 с одним или несколькими другими массивами и возвращает
значения в массиве1, которых нет ни в одном из других массивов.