如何使用Highchart转换json中的多个数组


How to convert multiple array in json using Highchart?

我有一个数组如下

    Array
        (
            [0] => Array
                (
                    [rvoltage_data] => Array
                        (
                            [0] => 1466773140000
                            [1] => 231.81
                        )
                    [yvoltage_data] => Array
                        (
                            [0] => 1466773140000
                            [1] => 229.95
                        )
                    [bvoltage_data] => Array
                        (
                            [0] => 1466773140000
                            [1] => 231.44
                        )
                )
            [1] => Array
                (
                    [rvoltage_data] => Array
                        (
                            [0] => 1466773200000
                            [1] => 231.81
                        )
                    [yvoltage_data] => Array
                        (
                            [0] => 1466773200000
                            [1] => 229.95
                        )
                    [bvoltage_data] => Array
                        (
                            [0] => 1466773200000
                            [1] => 231.44
                        )
                )
            [2] => Array
                (
                    [rvoltage_data] => Array
                        (
                            [0] => 1466773500000
                            [1] => 231.81
                        )
                    [yvoltage_data] => Array
                        (
                            [0] => 1466773500000
                            [1] => 231.32
                        )
                    [bvoltage_data] => Array
                        (
                            [0] => 1466773500000
                            [1] => 231.44
                        )
                )
)

上面的数组我想转换成下面的数组

   [rvoltage_data] => Array (
    [0] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        ),
    [1] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        )       
)
[yvoltage_data] => Array (
    [0] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        ),
    [1] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        )       
)
[bvoltage_data] => Array (
    [0] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        ),
    [1] => Array
        (
            [0] => 1466773140000
            [1] => 231.81
        )   
)

可以转换以上格式吗?如果是,请帮助我。我试着解决这个问题,但没有得到任何答案。我不知道如何解决这个问题,请给我建议。

1)好,第一步是重构数组。您可以通过迭代旧$array的元素并将值重新分配给新数组$result来实现这一点。

$result = '';
foreach($array as $index => $data)
{
    $result['rvoltage_data'][] = $data['rvoltage_data'];
    $result['yvoltage_data'][] = $data['yvoltage_data'];
    $result['bvoltage_data'][] = $data['bvoltage_data'];
}
var_dump($result);

2)第二步是使用json_encode将数组输出为JSON,以便您可以将内容作为数据嵌入Highchart Javascript。JSON_NUMERIC_CHECK用于去掉数字周围的引号,在使用此函数时通常会得到这些引号。

echo json_encode($result, JSON_NUMERIC_CHECK);

3)最后一步:将数据放入Highcharts.

在SO和官方HighCharts网站上有很多例子,例如http://www.highcharts.com/docs/working-with-data/custom-preprocessing # 3

例如,你可以通过jQuery getJSON()请求从你的PHP文件"getData.php" "抓取"数据。重要的部分是将传入数据分配给图表的Highcharts选项数组的位置。console.log()用于在浏览器控制台中显示传入的JSON数据,以便调试。
$.getJSON('getData.php', function(data) {
    // debug: show data in browser console 
    console.log(data);
    // assign incoming data to the Highcharts options array of your chart
    options.series[0].data = data;
    var chart = new Highcharts.Chart(options);
});