使用PHP将数据库数据编码为JSON

时间:2016-12-06 15:32:34

标签: php mysql json

无论如何都要格式化从中获取的JSON编码数据 mysql数据库,带索引?

示例

我当前的JSON文字:

[{"category_id":"1","category_name":"Luarb1"},{"category_id":"2","category_name":"Luarb2"}]

我希望如何格式化:

{"1":[{"category_id":"1","category_name":"Luarb1"}], "2":[{"category_id":"2","category_name":"Luarb2"}]}

1 个答案:

答案 0 :(得分:0)

<?php

// init variables
$arr = '[{"category_id":"1","category_name":"Luarb1"},{"category_id":"2","category_name":"Luarb2"}]';
$new = [];

// decode JSON array
$decoded = json_decode($arr);

// create the new array to be encoded
$i = 1;
foreach ($decoded as $cur) {
    $new[$i++] = [$cur];
}

// encode the new array
$encoded = json_encode($new);

// test if everything worked
var_dump($encoded);

// tests.php:15:string '{"1":[{"category_id":"1","category_name":"Luarb1"}],"2":[{"category_id":"2","category_name":"Luarb2"}]}' (length=103)

以下是我解决问题的方法,我没有成功地将数组键设置为0,但是你想要达到1,我认为。

如果你想要数据库条目中的索引,你可能需要改进SELECT SQL查询并检索id,然后用JSON解析它等等......