使用php循环创建jSON对象

时间:2014-06-06 15:12:40

标签: php json

我正在尝试创建一个快速对象来处理我正在制作的图表。

这是输出的样子:

[
  ['Firefox',   45.0],
  ['IE',       26.8],
  ['Safari',    8.5],
  ['Opera',     6.2],
  ['Others',   0.7]
]

我需要用来创建这些数据的代码/循环:

$series = Array();
foreach($segmentData->segment as $segment){ 

    echo $segment->segmentName . ' has ' . $segment->total . '<br />';
    //Need to create the data here

}

2 个答案:

答案 0 :(得分:2)

由于提供的引用数组不是对象/非关联,因此无法在PHP中创建键,然后json_encode它。提供的参考数组只需要每个段的2个元素数组。 只需使用PHP非关联数组创建数据。然后json_encode数据。这应该与您提供的参考数组完全匹配。

$output = array();
foreach($segmentData->segment as $segment){ 
    array_push($output, array($segment->segmentName, $segment->total));
}
header("Content-type: application/json");
echo json_encode($output);

答案 1 :(得分:1)

创建json对象将值添加到循环中的数组中,然后使用json_enode执行如下操作

foreach($segmentData->segment as $segment){ 

        $final[$segment->segmentName]=$segment->total;
    }

    $final = json_encode($final);