如何将其作为数组?

时间:2012-05-15 06:56:19

标签: php javascript arrays

我正在尝试将我的数据放入Highchart Library。在那里显示示例如下代码。

series: [
    {
    name: 'John',
    data: [5, 3, 4, 7, 2]
    },
    {
    name: 'Jane',
    data: [2, 2, 3, 2, 1]
    },
    {
    name: 'Joe',
    data: [3, 4, 4, 2, 5]
    }
]

所以我需要它动态地作为动态输入的数组(来自PHP)。那我怎么能把它变成一个Javascript数组呢?

使用,例如:

series: myArray;

那么如何用数组实现呢?

var myArray = new Array();
and .. ???

3 个答案:

答案 0 :(得分:1)

您可以简单地使用数组文字([]),例如:

var myArray = [
    {
        name: 'John',
        data: [5, 3, 4, 7, 2]
    },
    {
        name: 'Jane',
        data: [2, 2, 3, 2, 1]
    },
    {
        name: 'Joe',
        data: [3, 4, 4, 2, 5]
    }
];

相当于:

var myArray = [];
myArray[0] = { name: 'John', data: [5,3,4,7,2] };
myArray[1] = { name: 'Jane', data: [2,2,3,2,1] };
myArray[2] = { name: 'Joe', data: [3,4,4,3,5] };

所以myArray是一个对象数组。这些对象有两个属性namedata,后者是另一个包含数字的数组。

要将数据从PHP发送到Javascript,您可以使用JSON函数从PHP数组创建json_encode()。例如,在PHP中,您可以使用以下内容:

<?php

$myArray = array(
    array('name' => 'John', data => array(5,3,4,7,2)),
    array('name' => 'Jane', data => array(2,2,3,2,1)),
    array('name' => 'Joe', data => array(3,4,4,3,5)),
);

?>

<script type="text/javascript">
var myArray = <?php echo json_encode($myArray); ?>
</script>

答案 1 :(得分:1)

如果源数组是PHP,那么我会将其序列化为JSON并直接将其用作JS对象:

http://ch2.php.net/json

类似的东西:

var jsData = <?php echo json_encode($your stuff); ?>;

编辑:改进示例

答案 2 :(得分:-1)

我强烈推荐JSON。因为它维护一个名称:值对。