Dipende da cosa intendi per "rimuovere".
È possibile utilizzare la funzione unset() per rimuovere le chiavi dall'array, ma ciò non verrà reindirizzato. Così, per esempio, se si dispone di:
$a = array(1 => 'one', 2 => 'two', 3 => 'three');
e quindi chiamare
unset($a[2]);
Vi ritroverete con qualcosa di simile
(1 => 'one', 3 => 'three');
Se è necessario l'array da sequenziale indicizzato , puoi prendere la matrice non impostata e inserirla in array_values (), che restituirà un nuovo array con chiavi indicizzate in sequenza.
Tornando allo scenario originale, come altri osservano, array_diff farà il lavoro per voi, ma si noti che non esegue un controllo indice. Se ti serve, usa invece array_diff_assoc.
Non posso fare a meno di chiedermi la stessa cosa +1 sulla domanda – JasonDavis