Очень часто нужно сравнить 2 массива PHP и оставить элементы, которые не совпали между собой. Обычно начинающие программисты используют циклы для сравнения элементов массива. Я так тоже делал, но в какой-то момент увидел как работает функция array_diff().
//со строками
$array1 = array("a" => "green", "red", "blue", "gray", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array2, $array1);
print_r($result);
//вывод: Array ( [0] => yellow )
//с числами
$array1 = array(1,2,3,4,5,6,7);
$array2 = array(1,2,8,9);
$result = array_diff($array2, $array1);
print_r($result);
//вывод: Array ( [2] => 8 [3] => 9 )
Функция сама определяет какие элементы массива не совпадают. Обратите внимание на то, что выводятся несовпадающие элементы только из второго массива. В первом примере показана работа с строковыми значениями массива, а во втором примере показана работа с числовыми значениями массива. О массивах PHP читайте в статье массив в PHP