如何将数组值从PHP传递给JavaScript

时间:2014-03-04 17:45:21

标签: javascript php

我这里有一个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 ?>

但它不起作用。我该怎么办?谢谢您的帮助。

3 个答案:

答案 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); ?>];