PHP json_编码-创建json数组

PHP json_编码-创建json数组,php,json,Php,Json,我过去曾使用json_encode函数创建简单的json对象,如下所示: $payload = array ("user" => $username, "password" => $password, "group" => $group); $payload = json_encode ($payload); { "query": [ { "Date": "11/01/2017...12/31/2017" } ] } 这就产生了: {"

我过去曾使用json_encode函数创建简单的json对象,如下所示:

$payload =  array ("user" => $username, "password" => $password, "group" => $group);
$payload = json_encode ($payload);
{
  "query": [
    {
      "Date": "11/01/2017...12/31/2017"
    }
  ]
}
这就产生了:

{"user":"john smith","password":"abc12345","group":"sales"}
我现在需要生成一个JSON数组,如下所示:

$payload =  array ("user" => $username, "password" => $password, "group" => $group);
$payload = json_encode ($payload);
{
  "query": [
    {
      "Date": "11/01/2017...12/31/2017"
    }
  ]
}

但是我找不到正确的语法。

您可以简单地用php创建一个2d数组

$payload =  array (
    "query" => array(
         array(
             "date" => "11/01/2017...12/31/2017",
             "other sub key" => "other sub value"
         )
    ),
    "other main key" => array(
         array(
             "other sub key" => "other sub value",
             etc...
         )
    )
);

您只需在php中创建一个2d数组

$payload =  array (
    "query" => array(
         array(
             "date" => "11/01/2017...12/31/2017",
             "other sub key" => "other sub value"
         )
    ),
    "other main key" => array(
         array(
             "other sub key" => "other sub value",
             etc...
         )
    )
);

可能是这样的

$array = array(
    'query' => array(
        array('Date' => '11-01-2017')
        )
    );


echo '<pre>';
print_r(json_encode($array, JSON_PRETTY_PRINT));

可能是这样的

$array = array(
    'query' => array(
        array('Date' => '11-01-2017')
        )
    );


echo '<pre>';
print_r(json_encode($array, JSON_PRETTY_PRINT));
参考:


参考:

这将使
query
成为一个对象,但OP想要一个数组。我不确定你的意思,在我的代码中,“query”是一个键,而不是数组……我是指结果JSON中
query
属性的值。您的代码将生成
“查询”:{“日期”:“2017年11月1日…2017年12月31日”}
(一个对象值),而OP想要
“查询”:[{“日期”:“2017年11月1日…2017年12月31日”}]
(一个数组值)啊,我明白了,我错过了数组。我编辑了我的答案,使之适合现在。这将使
query
成为一个对象,但OP想要一个数组。我不确定你的意思,在我的代码中,“query”是一个键,而不是数组……我指的是结果JSON中
query
属性的值。您的代码将生成
“查询”:{“日期”:“2017年11月1日…2017年12月31日”}
(一个对象值),而OP想要
“查询”:[{“日期”:“2017年11月1日…2017年12月31日”}]
(一个数组值)啊,我明白了,我错过了数组。我编辑了我的答案,使它适合现在。可能的重复可能的重复