我这里有一个PHP数组:
$newArray = array(4,27,34,52,54,59,61,68,78,82,85,87,91,93,100);
我希望将这个PHP数组传递给我的JavaScript代码,以使我的JavaScript中的'data'变量与我在PHP脚本中声明的数组相同。这是我的JavaScript代码:
<script type="text/javascript">
$(function() {
data: [4,27,34,52,54,59,61,68,78,82,85,87,91,93,100];
});
</script>
我的想法就是像这样直接嵌入$ newArray:
data: <?php $newArray ?>
但它不起作用。我该怎么办?谢谢您的帮助。
答案 0 :(得分:1)
刚做
data: <?php $newArray ?>
不会输出$ newArray的内容,你还需要输出
echo $newArray
print $newArray
(尝试一下,你会得到一个不同的错误;))但即使这样,它也不会是你想要的格式,所以你要用json_encode
编码来格式化以某种方式javascript可以读取它,就像这样
data: <?php echo json_encode($newArray) ?>;
答案 1 :(得分:0)
使用PHP的内置json_encode()函数,如下所示:
$array = array("item_1" => 1, "item_2"=> 2);
$json = json_encode($array);
然后将该数组传递给您的JavaScript(通过AJAX或其他方法)并使用jQuery函数$ .parseJSON()进行解码:
$(function(){
var json = $.parseJSON(passedFromPHP);
});
这将为您提供一个可以使用JavaScript操作的JSON对象。
答案 2 :(得分:0)
你也可以这样做:
data: [<?php echo implode(',', $newArray); ?>];