我不完全确定你的问题出在哪里......但json_encode
简单的基本操作看起来像:
<script type="text/javascript">
var jsarray = <?php echo json_encode($phpar); ?>;
</script>
坦率地说,我不明白为什么其他人建议将与 javascript 兼容的对象/数组放入字符串中,更糟糕的是,他们这样做的方式是错误的。如果你想要一个 JSON 对象字符串,这是正确的做法:
<script type="text/javascript">
var jsarray_string = <?php echo json_encode(json_encode($phpar)); ?>;
// ^ ^------ php array to js array
// '------------------ php string to js string
</script>
顺便说一句,javascript 对象可以像数组一样被访问。例子:
var myArray = {1: 'hi', 2: 'bye'};
alert(myArray[2]); // this works!
唯一的区别是 myArray 不是真正的 javascript 数组,例如myArray.constructor
is not Array()
。