如何将PHP数组传递给JS并生成JS数组

时间:2011-12-21 10:45:56

标签: php javascript

$allVal =  array(array(123, 0), array(345, 1), array(456, 2));

上面的代码是一个PHP数组,目前我想把这个数组传递给javascript,Javascript中的输出应该如下所示:

<script type="text/javascript">
      var d = [[123, 0], [345, 1], [456, 2]];
</script>

BTW:PHP代码和Js代码在同一页面中。

有没有人可以帮助我?提前谢谢!

2 个答案:

答案 0 :(得分:8)

json_encode应该能够帮到你

<?php
$allVal =  array(array(123, 0), array(345, 1), array(456, 2));
?>
<script type="text/javascript">
<?php echo 'var d = ' . json_encode($allVal) . ';'; ?>

</script>

答案 1 :(得分:1)

您可以使用php的json_encode方法将数组转换为javascript对象,然后再将其发送回客户端。参见

http://php.net/manual/en/function.json-encode.php

- 内联 使用类似于

的行
<?php echo "var = ". json_encode($myArray); ?>

- 异步 一行类似于

<?php echo json_encode($myArray); ?>

您需要考虑的一件事是,您需要将标头传递给服务器,声明您希望响应格式为json。