Добавление в массив во время перебора PHP

79
08 февраля 2022, 14:50

Мне нужно во время перебора массива добавить новое значение в следующий элемент. Делаю так:

foreach ($arr as $i => &$ar) {
    if ($i == 0) {
        array_splice($arr, $i+1, 0, '7');
    }
    echo "<br>".$i." - ".$ar;
}

Но на выводе: 0 - a 5 - f

Мне нужно именно добавить элемент, чтобы он следующий пошел на перебор ($+1)

Answer 1

Можно использовать другой цикл:

$arr = ['a','b','c','d','f'];
for ($i = 0, $j = count($arr); $i < $j; $i++) {
    if ($i == 0) {
        array_splice($arr, $i + 1, 0, '7');
        $j++;
    }
    echo "<br>$i - $arr[$i]";
}
0 - a
1 - 7
2 - b
3 - c
4 - d
5 - f
READ ALSO
Из базы надо вывести сортированном ввиде

Из базы надо вывести сортированном ввиде

дорогие мегамозги! Помогите, пожалуйстаМне необходимо вывести из базы клиентов сортированном ввиде (Картинка2) В корне проекта содержиться...

77
WordPress - вопрос по хуку

WordPress - вопрос по хуку

Данный хук срабатывает при событии на любой странице, где он вызываетсяКак заставить данный хук вызываться на определенной странице и больше...

85
Как удалить все метки с карты пользуясь geoQuery

Как удалить все метки с карты пользуясь geoQuery

Сижу уже 2 день голову ломаюПолучаю данные для меток через json из своей базы данных посредством ajax, через geoQuery

74
Перевод плагина Wordpress

Перевод плагина Wordpress

Для изменения языка сайта пользуюсь переключателем switch_to_locale($locale); Для тем все работает, для плагина нетЕсли к примеру переключимся с помощью...

76