将多维 PHP 数组传递给 JavaScript

5

我有一个数组($my_array),看起来像这样:

array(2) {
[25]=>int(10)
[30]=>int(8)
}

我想将它分配给一个JavaScript数组,但是我做不到。有什么建议吗?
编辑:起初,我认为可以像字符串一样分配它,但这并不起作用:
var photo_limit = $my_array;

我还尝试将var_dump输出到我的js变量中。

我当前正在尝试使用如下代码:

for($i=0;$i<count($my_array); $i++){
echo "a[$i]='".$a[$i]."';\n";
}

感谢您的选择。

你现在怎么做?你什么时候需要启动它? - Kasia Gogolek
2
我会使用json_encode将对象编码为JSON。在使用JS时,JSON非常完美。 - Jay
2个回答

10

最好的方法是使用json_encode。请参考json_encode参考手册

用法如下:

<script>
var array = <?php echo json_encode($array)?>;
</script>

需要注意的是,你将收到JavaScript对象,而不是数组。乍一看唯一的区别是如果你的数组中有字符串键,你可以像使用点符号一样在JS中访问它们,例如array.*string key*


0

1: 使用json_encode将您的PHP数组转换为JSON字符串。

2: 在JavaScript中使用eval(或者jQuery.parseJSON作为替代)解码JSON字符串。

<script>
    var arr = eval('(<?php echo json_encode($thePhpArray); ?>)');
</script>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接