Удаление элемента из массива по ключу со сдвигом ключей

перерыл уже гугл но так и не нашел адекватного решения корректно работающего

есть много мерный массив

$lls[2]['keys']

структура такова если отобразить var_dump($lls[2]['keys']);

array(2) {
  [0]=>
  string(3) "red"
  [1]=>
  string(4) "blue"
  [2]=>
  string(4) "test"
}

нужно удалить значение по ключу 0 например вот так unset($lls[2]['keys'][0])

но что бы после этого ключи сместились массив не выглядел так

array(2) {
  [1]=>
  string(4) "blue"
  [2]=>
  string(4) "test"
}

а принял такой вид

array(2) {
  [0]=>
  string(4) "blue"
  [1]=>
  string(4) "test"
}

по тому что например вот такой способ который советовали не работает

unset($lls[2]['keys'][0]);
$cleark = $lls[2]['keys'];
$lls[2]['keys'] = array_diff($cleark, array(''));

мне кажется в php должна быть какая то простая функция для этого


Ответы (1 шт):

Автор решения: Алексей Шиманский

Попробуйте array_values

$arr = [1 => 'test', 2 => 'test2'];
print_r($arr);
Array
(
    [1] => test
    [2] => test2
)



$arr = array_values($arr);
print_r($arr);

Array
(
    [0] => test
    [1] => test2
)
→ Ссылка