我有一个类似于:
的数组($ 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";
}
感谢。
答案 0 :(得分:10)
最好的方法是使用json_encode
。见json_encode reference
像这样使用:
<script>
var array = <?php echo json_encode($array)?>;
</script>
注意,hovewer,您将收到Javascript对象,而不是数组。一目了然,唯一的区别是如果你的数组中有字符串键,你就可以在JS中使用array.*string key*
访问它们,即使用点表示法。
答案 1 :(得分:0)
1:json_encode
您的PHP数组。
2:使用eval
解码JavaScript中的JSON字符串(替代方法:jQuery.parseJSON)
<script>
var arr = eval('(<?php echo json_encode($thePhpArray); ?>)');
</script>