如何在电报机器人中传递键盘的动态?



嗨,我在为电报机器人创建动态键盘时遇到问题 我想用下图中的键盘创建自己的戒指在此处输入图像描述

我找到了 C# 代码,但无法将其转换为 PHP 代码:

for (var Index = 1; Index < 17; Index++)
{
cols.Add(new KeyboardButton("" + Index));
if (Index%4 != 0) continue;
rows.Add(cols.ToArray());
cols = new List<KeyboardButton>();
}
rkm.Keyboard = rows.ToArray();

一个重要的注意事项

我有 40 个数字,我想将连续 40 个按钮分配给 4 个按钮

$reply_markup = array('keyboard' => array(array('1','2','3','4'),  array('5','6','7','8'),....), 'resize_keyboard' => true);

但无论我做什么,我都做不到 谢谢你帮助我

php中,您必须使用两个循环,如下所示:

$rows = 10;
$columns = 4;
$keyboard = [];
for($i = 1;$i<=$rows;$i++){ // loop for create rows.
$rowKeys = []; // reset row keys
for($j = 1;$j<=$columns;$j++){ // loop for create columns.
$rowKeys[] = ['text'=>$i*$j, 'callback_data'=>'key-'.($i*$j)]; // create button with callback data
}
$keyboard[] = $rowKeys;
}
$reply_markup = $keyboard;

最新更新