猿问

如何在 json 索引中对 JsonArray 结果内容进行分组

在我的 JsonArray 结果中,我想将所有内容放在索引中[{'data':{contenthere}}]


这是我的代码:


$data = [];

$gr = []; //some data here


foreach($gr as $g) {

    $data[] = [

        'id'   =>  $g['id'],

        'name'   =>  $g['name'],

        'phone'   =>  $g['pĥone']

   ]

}


return $data;

返回$data输出:


string(249) "[

    {

        "id": "112",

        "name": "john",

        "phone": "XXXXXXXXX"

    },

    {

        "id": "213",

        "name": "mike",

        "phone": "XXXXXXXXX"

    },

    {

        "id": "246",

        "name": "jess",

        "phone": "XXXXXXXXX"

    },

]

很酷,现在我想把所有这些都放进去,['data']所以需要的结果:


string(249) "[

    {

        "data": {

          {

            "id": "112",

            "name": "john",

            "phone": "XXXXXXXXX"

          },

          {

            "id": "213",

            "name": "mike",

            "phone": "XXXXXXXXX"

          },

          {

            "id": "246",

            "name": "jess",

            "phone": "XXXXXXXXX"

          },

        }

    }

]

作为谷歌 JSON 风格


我尝试了$data[]['data']但"data":每个对象中的重复


foreach($gr as $g) {

        $data[]['data'] = ...

我认为确实group_by起作用,但我认为有一个简单的解决方案


慕斯709654
浏览 349回答 2
2回答

DIEA

我不确定您是否真的需要顶层的额外数组,但使用...return [["data" => $data]];应该给你结果。

MYYA

使用json_encode来实现这一点:$json = json_encode(array('data' => $data));print_r($json);结果:{  "data": [    {      "id": "112",      "name": "john",      "phone": "XXXXXXXXX"    },    {      "id": "213",      "name": "mike",      "phone": "XXXXXXXXX"    },    {      "id": "246",      "name": "jess",      "phone": "XXXXXXXXX"    }  ]}
随时随地看视频慕课网APP
我要回答