0

我有一个要插入到 Javascript 图形库中的多维 PHP 数组。如何将 PHP 数组插入到创建Highcharts.Chart对象的 JS 代码中?

我注意到 JS 变量series包含一个对象数组,而在 PHP 中一切都在数组中。

Jsfiddle:http: //jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/demo/line-basic/

PHP 数组 (的结果print_r($array)

Array
(
    [boston] => Array
        (
            [0] => 4623
            [1] => 18094
            [2] => 12176
            [3] => 6521
            [4] => 4559
            [5] => 6450
            [6] => 5814
        )

    [chicago] => Array
        (
            [0] => 1240
            [1] => 9923
            [2] => 9546
            [3] => 4568
            [4] => 3384
            [5] => 4797
            [6] => 4469
        )

    [philadelphia] => Array
        (
            [0] => 0
            [1] => 1529
            [2] => 4063
            [3] => 838
            [4] => 547
            [5] => 1443
            [6] => 1209
        )
)

Javascript 数组示例:

chart = new Highcharts.Chart({
   series: [{
        name: 'boston',
        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
    }, {
        name: 'chicago',
        data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
    }, {
        name: 'philadelphia',
        data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
    }]
});
4

3 回答 3

0

json_encode($array) 会给你一个 javascript 可解析数组。

于 2013-03-13T23:26:45.350 回答
0

像这样的东西应该将您的数据转换为您在 js 中期望的格式:

<?php
$newData = array();
foreach($data as $city=>$values){
    $newData[] = array('name'=>$city,'data'=>$values)
}

echo json_encode($newData);
于 2013-03-13T23:26:57.643 回答
-1

这就是我开始组织一些数据的方式:

<?
$data[boston] = array(1,2,3,4);
$data[new_york] = array(6,12,18,24);
print_r($data);

foreach ($data as $key => &$value) {
  echo "name: $key \n";
  echo "data: [" . implode(",", $value) . "]\n";
}
?>
于 2013-03-13T23:31:59.240 回答