我有retIKey(..)函数:
function retIKey($text, $callback) {
return json_encode([
'inline_keyboard'=>[
[
['text'=>"$text", 'callback_data'=>"$callback"]
]
],
]);
}我有一些信息需要添加到这个数组中。我想使用for循环将['text'=>"sql1", 'callback_data'=>"sql1"]添加到数组中。例如,在For循环之后,结果应该如下所示:
function retIKey($text, $callback) {
return json_encode([
'inline_keyboard'=>[
[
['text'=>"$text", 'callback_data'=>"$callback"], ['text'=>"sql1", 'callback_data'=>"sql2"]
],
[
['text'=>"sql2", 'callback_data'=>"sal2"]
]
],
]);
}我该怎么办?我该怎么做呢?
发布于 2021-08-31 08:58:30
您的函数返回json编码的数组。因此,要在函数外部将值添加到数组中,必须先对数组进行解码。在添加值之后,如果需要,您可以再次编码。
它是这样工作的:
function retIKey($text, $callback)
{
return json_encode([
'inline_keyboard' => [
[
'text' => "$text",
'callback_data' => "$callback"
]
]
]);
}
$jsonArray = retIKey('sql1', 'sql1');
$array = json_decode($jsonArray, true);
$array['inline_keyboard'][] = [
'text' => 'sql2',
'callback_data' => 'sql2'
];$array现在看起来像这样:
array (size=1)
'inline_keyboard' =>
array (size=2)
0 =>
array (size=2)
'text' => string 'sql1' (length=4)
'callback_data' => string 'sql1' (length=4)
1 =>
array (size=2)
'text' => string 'sql2' (length=4)
'callback_data' => string 'sql2' (length=4)如果需要,您可以在以后使用以下命令对数组进行编码:
$jsonArray = json_encode($array);https://stackoverflow.com/questions/68990877
复制相似问题