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

Есть массив $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];
    }
}
  • Вопрос задан
  • 385 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Странный вопрос. Что в коде написали - то и происходит. Нет у вас там никакого добавления в массив. Если хотите, чтобы text был массивом, тогда делайте так:

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

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

Похожие вопросы