php变量为js-values

时间:2017-04-04 10:10:55

标签: javascript php

我有一个蜘蛛图,它与静态数据完美配合,当我尝试从PHP导入数据时效果不是很好。

我得到了什么:

var d = [
          [
            {axis:"red",value:0.5},
            {axis:"blue",value:0.56},
            {axis:"yellow",value:0.42},
                  ]

有一个类似的问题here,但当我尝试按以下方式导入数据时它不起作用:

var d = [
          [
            {axis:"red",value:<?php echo json_encode($php_variable1); ?>},
            {axis:"blue",value:<?php echo json_encode($php_variable2); ?>},
            {axis:"yellow",value:<?php echo json_encode($php_variable); ?>},
                  ]

显然,我不是专业人士。对业余爱好者有什么建议吗?

1 个答案:

答案 0 :(得分:0)

echo变量

举个例子,这很简单。

<?php
$php_variable1 = 0.5;
$php_variable2 = 0.56;
$php_variable3 = 0.42;
?>
<script type="text/javascript">
    var d = [
        [
            { axis: "red", value: <?php echo $php_variable1; ?> },
            { axis: "blue", value: <?php echo $php_variable2; ?> },
            { axis: "yellow", value: <?php echo $php_variable3; ?> }
        ]
    ];
</script>

这里发生的是您将值存储在$php_variable1$php_variable2中,然后echo在JavaScript对象中输出。

json_encode数组

json_encode函数会将数组转换为JSON对象。

使用另一个例子来演示。

<?php
$php_variable1 = array("red" => 0.5);
$php_variable2 = array("blue" => 0.56);
$php_variable3 = array("yellow" => 0.42);
?>
<script type="text/javascript">
    var d = [
        [
            <?php echo json_encode($php_variable1); ?>,
            <?php echo json_encode($php_variable2); ?>,
            <?php echo json_encode($php_variable3); ?>
        ]
    ];
</script>

或者,如果您不想继续重新定义变量,可以将上述内容缩短为以下内容。

<?php
$myJSON = array(
    array("red" => 0.5),
    array("blue" => 0.56),
    array("yellow" => 0.42)
);
?>
<script type="text/javascript">
    var d = [
        [
            <?php echo json_encode($myJSON); ?>
        ]
    ];
</script>

这会创建一个multidimensional array,这意味着只创建了一个变量,json_encode遍历它以创建对象。