如何将一个php数组分配给一个javascript数组?

如何将一个php数组分配给一个javascript数组?

问题描述:

我有一个PHP数组$行。目前我想将$ lines的值赋给一个javascript变量(即chartLines)。如何将一个php数组分配给一个javascript数组?

我将php数组分配给javascript的方式不正确。

任何人都可以帮助我吗?提前致谢!

<?php 
    $line1 = array(array("08:00","20"),array("08:00","16"),array("08:00","19"),array("08:00","17")); 

    $line2 = array(array("08:00","45"),array("08:00","47"),array("08:00","49"),array("08:00","47")); 

    $lines= array($line1,$line2); 
?> 


<script type="text/javascript"> 
    $(function() { 

     var chartLines = <?php echo $lines; ?> 

       }); 
+0

使用'变种chartLines = ;' – Petr

+0

为什么不将数组数据输出到javascript本身?意思是“ function(){var q =“。$ myArray。”;'; ''etc –

试试这个方法:

<?php 
    $line1 = array(array("08:00","20"),array("08:00","16"),array("08:00","19"),array("08:00","17")); 

    $line2 = array(array("08:00","45"),array("08:00","47"),array("08:00","49"),array("08:00","47")); 

    $lines= array($line1,$line2); 
    $json = json_encode($lines); 
?> 

<script type="text/javascript"> 
    $(function() { 

     var chartLines = jQuery.parseJSON('<?php echo $json; ?> '); 

       }); 
+0

我想转换数组到JSON然后到JS数组,包括Jquery是有点困难,没有必要,回声JS数组是最简单的事情 –

你可以试试这个:

<?php 
# create PHP array: 
$php_array = array("one", "two", "three"); 

echo "<script language='JavaScript'>\n"; 

echo "var js_array = new Array();\n"; 

$ix = 0; 

foreach($php_array as $key => $value) 
{ 
echo "js_array[$key] = $value;\n"; 
} 

echo "</script>\n"; 

您最好的选择是使用由建议的json_encode PHP函数其他人在这里,像这样:

<?php 
    $chartLines = array("item1" => "val1", "item2" => "val2", "item3" => "val3"); 
    $chartJSON = json_encode($chartLines); 
?> 

<script type="text/javascript"> 
    var chartLines = jQuery.parseJSON('<?php echo $chartJSON; ?>'); 
</script> 

如果您需要在JS侧阵列太(不是一个对象,它是什么parseJSON将返回),你可以使用jQuery来做到这一点:

var chartArr = jQuery.makeArray(chartLines);