将多维PHP数组传递给javascript [英] Passing a multidimensional PHP array to javascript
问题描述
我有一个类似于以下内容的数组($ my_array):
I have an array($my_array) that looks something like:
array(2) {
[25]=>int(10)
[30]=>int(8)
}
我想把它分配给一个javascript数组,但是我很难做到这一点。有什么建议吗?
I'd like to assign it to a javascript array, but am having difficulties doing it. Any suggestions?
编辑:首先,我认为我可以像字符串一样分配它,但这不起作用:
At first, I thought I could just assign it like a string, but that isn't working:
var photo_limit = $my_array;
我还尝试将var_dump写入我的js值。
I tried also doing a var_dump into my js value.
我正在尝试使用类似的东西:
I'm currently trying to use something like:
for($i=0;$i<count($my_array); $i++){
echo "a[$i]='".$a[$i]."';\n";
}
谢谢。
推荐答案
最好的方法是使用 json_encode
。请参阅 json_encode参考
The best way is to use json_encode
. See json_encode reference
像这样使用:
<script>
var array = <?php echo json_encode($array)?>;
</script>
请注意,您将收到Javascript对象,而不是数组。一目了然唯一的区别是如果你的数组中有字符串键,你就可以在JS中访问它们,比如 array。* string key *
,即使用点符号。
Note, hovewer, that you'll receive Javascript object, instead of array. At a glance the only difference is if you have string keys in your array, you'll be able to access them in JS like array.*string key*
, i.e. using dot notation.
这篇关于将多维PHP数组传递给javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!