如何在php中创建json数组

时间:2018-10-31 10:38:36

标签: php json

我想创建一个响应如下的数组

  

响应应该这样

   [{
        name: 'Installation',
        data: [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175]
    }, {
        name: 'Manufacturing',
        data: [24916, 24064, 29742, 29851, 32490, 30282, 38121, 40434]
    }, {
        name: 'Sales & Distribution',
        data: [11744, 17722, 16005, 19771, 20185, 24377, 32147, 39387]
    }, {
        name: 'Project Development',
        data: [null, null, 7988, 12169, 15112, 22452, 34400, 34227]
    }, {
        name: 'Other',
        data: [12908, 5948, 8105, 11248, 8989, 11816, 18274, 18111]
   }]

4 个答案:

答案 0 :(得分:1)

尝试下面的代码,我只是在for循环中临时设置了相同的数据。

$obj = new \stdClass;
$all = array();
for($i = 0; $i < 2; $i++) {
    $obj->name= "test$i";
    $obj->data = [43934, 52503, 57177, 69658, 97031, 119931, 137133, 154175];
    $all[] =  $obj;
}
echo json_encode($all);

答案 1 :(得分:0)

尝试使用此<script src="https://d3js.org/d3.v5.min.js"></script>函数

json_encode

答案 2 :(得分:0)

在php中创建一个数组,然后使用json_encode函数。它将数组转换为json格式。同样,json_decode函数会将json值转换为数组或对象。

在这里您将获得相关帮助-

  

http://php.net/manual/en/function.json-encode.php

     

http://php.net/manual/en/function.json-decode.php

答案 3 :(得分:0)

    foreach ($sNames as $key => $name) {
        if (!empty($name)) {
            $services[$key] = array(
                'name' => $name,
                'data' => $sData[$key],
            );
        }
    }
    $data['services'] = json_encode($services);

我认为您必须做这样的事情,也许这会对您有所帮助。