Удаление элемента из массива по ключу со сдвигом ключей
перерыл уже гугл но так и не нашел адекватного решения корректно работающего
есть много мерный массив
$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
)