2011-08-12 31 views
5

我有一個看起來像一個數組($ my_array):傳遞一個多維數組PHP與JavaScript

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

如何你現在幹什麼呢?你什麼時候需要發起它? –

+2

我會使用json_encode將對象編碼爲JSON。使用JS時JSON是完美的。 – Jay

回答

10

最好的方法是使用json_encode。見json_encode reference

像這樣來使用:

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

注意,hovewer,您會收到Javascript對象,而不是陣列。一目瞭然,唯一的區別是如果你的數組中有字符串鍵,你將能夠像JS那樣訪問它們,如array.*string key*,即使用點符號。

0

1:json_encode你的PHP數組。

2:使用解碼eval(備選:jQuery.parseJSON)JavaScript中的JSON字符串

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