array_diff
funkcja
Zwraca elementy pierwszej tablicy, których wartości nie występują w pozostałych tablicach. Klucze są zachowane.
array_diff(array $array, array ...$arrays): array
array_diff porównuje wartości pierwszej tablicy z wartościami wszystkich kolejnych tablic i zwraca te elementy z pierwszej tablicy, których nie ma w żadnej z pozostałych. Klucze oryginalnej tablicy są zachowane — wynik nie jest reindeksowany. Porównanie odbywa się jako string. Jeśli potrzebujesz różnicy po kluczach, skorzystaj z array_diff_key().
<?php
declare(strict_types=1);
$wszystkie = [1, 2, 3, 4, 5];
$kupione = [3, 4, 5, 6, 7];
print_r(array_diff($wszystkie, $kupione));
// wynik:
// Array
// (
// [0] => 1
// [1] => 2
// )