как вывести инлайн кнопки в телеграм боте в цикле php?

пытаюсь вывести инлайновые кнопки в цикле. ничего не получается. если расскоментирую вторую и третью кнопку и закомментирую сам цикл - все работает прекрасно. пробовал цикл размещать между разными квадратными кавычками, не помогло... сам цикл с переменными тоже работает хорошо в html коде. то есть проблема не в названии переменных в массиве.

            $answer = 'выбери свой город';

            $keyboard = json_encode([

                'inline_keyboard' => [

                    foreach ($result as $key => $value) {

                        // первый ряд
                        [
                               // первая кнопка первого ряда
                            [
                                'text' => $value['city_name'],
                                'callback_data' => $value['city_id']
                            ],
                        ],
                        // второй ряд
                        // [
               //                 // первая кнопка второго ряда
                        //  [
                        //      'text' => $result[1]['city_name'],
                        //      'callback_data' => $result[1]['city_id']
                        //  ],
                        // ],
                        // третий ряд
                        // [
               //                 // первая кнопка третьего ряда
                        //  [
                        //      'text' => $result[2]['city_name'],
                        //      'callback_data' => $result[2]['city_id']
                        //  ],
                        // ],
                    }
                ],

            ], true);

            $data = http_build_query(['chat_id' => $chat_id, 'text' => $answer]);
            file_get_contents($botAPI . '/sendMessage?' . $data . '&reply_markup=' . $keyboard);

Ответы (0 шт):