To zależy od tego, co masz na myśli przez "usuń".
Możesz użyć funkcji unset() do usunięcia kluczy z tablicy, ale to nie spowoduje ponownego jej indeksu. Tak na przykład, jeśli masz:
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
a następnie zadzwonić
unset($a[2]);
Skończysz z czymś jak
(1 => 'one', 3 => 'three');
Jeśli potrzebujesz tablicę być kolejno indeksowane , możesz wziąć niezatwierdzoną tablicę i wprowadzić ją do array_values (), która zwróci nową tablicę z sekwencyjnie indeksowanymi kluczami.
Powracając do oryginalnego scenariusza, jak zauważają inni, array_diff wykona zadanie za Ciebie, ale zauważ, że nie sprawdza indeksu. Jeśli potrzebujesz tego, użyj zamiast tego array_diff_assoc.
Nie mogę pomóc, ale zastanawiałem się nad tym samym +1 na pytanie – JasonDavis