@fsgdoterr

Как удалить элемент массива и сменить оставшиеся ключи на 1 меньше?

Есть у меня два массива:
$arr1 = [];
$arr2 = [
    'a',
    'b',
    'c',
];

И мне нужно присвоить первому массиву значения второго только без первого элемента, но если использовать
unset($arr2[0]);
$arr1 = $arr2;

то ключи остальных элементов остаются прежними и получается что в первом массиве начинается отсчет не с нулевого индекса а со первого, понимаю что можно перебрать массив с помощью foreach и каждую итерацию цикла присваивать элемент, но выглядит это довольно громоздко, и хотелось бы одной функцией все сделать, есть ли такая во встроенных функциях php?
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F
Получить массив с правильными индексами можно с помощью array_values.

Правда, с учётом решаемой вами задачи...

присвоить первому массиву значения второго только без первого элемента

...вам это не потребуется - используйте array_slice вместо той ерунды с unset.
Ответ написан
delphinpro
@delphinpro
frontend developer
Учитывая, что вы меняете исходный массив, можно использовать array_shift

$arr2 = [
    'a',
    'b',
    'c',
];

array_shift($arr2); // ['b', 'c'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы