Задать вопрос
@fsgdoterr

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

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

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

то ключи остальных элементов остаются прежними и получается что в первом массиве начинается отсчет не с нулевого индекса а со первого, понимаю что можно перебрать массив с помощью foreach и каждую итерацию цикла присваивать элемент, но выглядит это довольно громоздко, и хотелось бы одной функцией все сделать, есть ли такая во встроенных функциях php?
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F
Получить массив с правильными индексами можно с помощью array_values.

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

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

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

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

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

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽