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

Почему при добавлении элемента в массив он перезаписывает предыдущий элемент, а не добавляет новый?

Есть массив $keyboard, в котором есть еще массив и еще. В последний массив во время цикла должны добавляться данные и не перезаписывать друг друга. Я понимаю, что плохо описал, но лучше не смог. Вот код:

$buttons = ['пример1', 'пример2', 'пример3'];
$rows = '2_1';

$rowsSegments = explode('_', $rows);
$keyboard = [
    'keyboard' => []
];

for($i = 0; $i < count($rowsSegments); $i++) {
    for($n = 0; $n < $rowsSegments[$i]; $n++) {
        $keyboard['keyboard'][$i]['text'] = $buttons[$i];
    }
}
  • Вопрос задан
  • 401 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F
Странный вопрос. Что в коде написали - то и происходит. Нет у вас там никакого добавления в массив. Если хотите, чтобы text был массивом, тогда делайте так:

$keyboard['keyboard'][$i]['text'][] = $buttons[$i];
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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