电报Bot PHP键盘阵列按钮动态

时间:2018-06-29 09:24:12

标签: php arrays keyboard telegram

我想为Telegram机器人创建一个键盘按钮列表。我使用PHP但我在创建multiarray时遇到问题。我希望任何按钮用于行,我的脚本在一行中显示所有按钮。如何为每个按钮跳行?

我的代码是:

$llist = array();     
for($x=0;$x < 4; $x++)
{
$llist[]=["text"=>db_result($res,$x, 'club'),'callback_data' => 'Team ' .$x ];
} 
$list = array($llist);
$replyMarkup = array("keyboard" => $list,"resize_keyboard" => false,"one_time_keyboard" => false);     
$encodedKeyboard = json_encode($replyMarkup);

静态代码为:

$list = [
        'keyboard' => [
            [['text' => 'Team 1']],
            [['text' => 'Team 2']],
            [['text' => 'Team 3']],
            [['text' => 'Team 4']]
        ]
    ];

    $encodedKeyboard = json_encode($list);

谢谢

1 个答案:

答案 0 :(得分:0)

要使按钮彼此重叠显示,每个按钮都必须由其自己的数组表示。

要动态生成静态代码,请尝试以下操作:

$list = array();
for($x=0;$x < 4; $x++)
{
    array_push($list, array(["text"=>db_result($res,$x, 'club'),'callback_data' => 'Team ' .$x]));
}
$replyMarkup = array("keyboard" => $list,"resize_keyboard" => false,"one_time_keyboard" => false);
$encodedKeyboard = json_encode($replyMarkup);