$arr = ['a', 'b', 'c', 'd'];
// unset - удаляет, НЕ перенумеровывает ключи
unset($arr[1]);
// [0 => 'a', 2 => 'c', 3 => 'd'] (дырка в индексах!)
// array_splice - удаляет и перенумеровывает
$arr = ['a', 'b', 'c', 'd'];
array_splice($arr, 1, 1);
// ['a', 'c', 'd'] (индексы 0, 1, 2)
// Удаление по значению
$arr = array_values(array_diff($arr, ['c']));
// array_filter для условного удаления
$arr = array_values(array_filter($arr, fn($x) => $x !== 'c'));После unset() используйте array_values() для перенумерации, если нужны последовательные индексы.