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


How to pass a PHP array to JS and generate a JS array

$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代码在同一个页面。

有人能帮我吗?提前感谢!

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>

您可以使用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。