如何在Highcharts中将PHP数组添加到JS数组中

时间:2013-08-05 17:37:43

标签: php javascript arrays highcharts

我想要的是能够添加这个简单的PHP数组以在X轴上显示。它根本不想显示我的内容,我不明白为什么。

<!DOCTYPE HTML>
<html>
    <head>
        <?php 
        $array = array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
        ?>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Highcharts Example</title>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script> 
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
        <script type="text/javascript">


$(function () {
    js_array = new Array(<?php echo json_encode($array) ?>);
        $('#container').highcharts({
            title: {
                text: 'Monthly Average Temperature',
                x: -20 //center
            },
            subtitle: {
                text: 'Source: WorldClimate.com',
                x: -20
            },
            xAxis: {
                categories: js_array
            }

5 个答案:

答案 0 :(得分:4)

我们似乎在这里过于复杂......

改变这个:

           js_array = new Array(<?php echo json_encode($array) ?>);

           ...

           xAxis: {
                categories: js_array
            }

到此:

xAxis: {
   categories: <?php echo json_encode($array); ?>
}

答案 1 :(得分:1)

试试这个。

var js_array = <?php echo json_encode($array); ?>;

答案 2 :(得分:0)

JSON对象与js数组不同。您需要先解析代码。 JSON.parse()或eval()可能有助于解析。

js_array = JSON.parse('<?php echo json_encode($array) ?>'); 

@ user1477388评论正确

答案 3 :(得分:0)

请查看描述如何使用数组的文章http://docs.highcharts.com/#preprocessing-data-from-a-database

答案 4 :(得分:0)

它和我一起工作:

类别

categories: [<?php for($i = 0; $i < count($name); $i++){ echo "'".$name[$i]."'"; echo ",";} ?>],

数据

data: [<?php echo join($age, ',') ?>]

请注意, $ name是字符串数组 $ age是整数数组 。还要记住,当我在同一页面中嵌入php,Sql查询时,此代码与我一起工作。