Как правильно разделить ответы полученные из foreach

Рейтинг: 0Ответов: 1Опубликовано: 18.03.2023

Есть foreach который перебирает массив и выдает кнопки в телеграмм боте:

foreach($userButtons as $values) {
   
    $name = $values['name'];
    $tag = $values['tag'];

    if ($values['actual'] == true) {

    $kbd[][] = array("text" => "{$name}", "callback_data" => "!go_stage_4 {$tag}");
}
   }
$ResultMessage['reply_markup'] = json_encode(["inline_keyboard" => $kbd]);

Как разделить полученные ответы из foreach, так что бы они были в два столбика как тут?:

                $ResultMessage['reply_markup'] = json_encode(["inline_keyboard" => [
                [["text" => "Кнопка 1", "callback_data" => "!button1"], ["text" => "Кнопка2", "callback_data" => "!button2"]],
                [["text" => "Кнопка 3", "callback_data" => "/button3"], ["text" => "Кнопка4", "callback_data" => "/button4"]]
            ]]);

Ответы

▲ -2
$kbd = array();
$i = 0;

foreach($userButtons as $values) {
    $name = $values['name'];
    $tag = $values['tag'];

    if ($values['actual'] == true) {
        $button = array("text" => "{$name}", "callback_data" => "!go_stage_4 {$tag}");
        $kbd[$i / 2][] = $button;
        $i++;
    }
}

$ResultMessage['reply_markup'] = json_encode(["inline_keyboard" => $kbd]);

ChatGTP смог дать ответ на этот вопрос.