首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中将数组插入json编码数组

在PHP中将数组插入json编码数组
EN

Stack Overflow用户
提问于 2021-08-30 22:18:05
回答 1查看 44关注 0票数 3

我有retIKey(..)函数:

代码语言:javascript
复制
function retIKey($text, $callback) {
    return json_encode([
        'inline_keyboard'=>[
            [
                ['text'=>"$text", 'callback_data'=>"$callback"]
            ]
        ],
    ]);
}

我有一些信息需要添加到这个数组中。我想使用for循环将['text'=>"sql1", 'callback_data'=>"sql1"]添加到数组中。例如,在For循环之后,结果应该如下所示:

代码语言:javascript
复制
function retIKey($text, $callback) {
    return json_encode([
        'inline_keyboard'=>[
            [
                ['text'=>"$text", 'callback_data'=>"$callback"], ['text'=>"sql1", 'callback_data'=>"sql2"]
            ],
[
                ['text'=>"sql2", 'callback_data'=>"sal2"]
            ]
        ],
    ]);
}

我该怎么办?我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2021-08-31 08:58:30

您的函数返回json编码的数组。因此,要在函数外部将值添加到数组中,必须先对数组进行解码。在添加值之后,如果需要,您可以再次编码。

它是这样工作的:

代码语言:javascript
复制
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现在看起来像这样:

代码语言:javascript
复制
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)

如果需要,您可以在以后使用以下命令对数组进行编码:

代码语言:javascript
复制
$jsonArray = json_encode($array);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68990877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档