2011-08-11 93 views
2

嗨我試圖發送一個數組從PHP到我的JavaScript。這可能嗎?我試了幾個我發現的例子,但沒有一個能夠工作。發送一個數組從PHP到javascript

這裏是林試圖做:

php文件:

<?php 
$n = array('test','test2', 'test3'); 
<script type='text/javascript'> 
    initArray($n); 
</script> 
?> 

javascipt的:

function initArray(array){ 
    for(var i = 0; i < array.length; i++){ 
     alert(array[i]); 
    } 
} 

THX所有的答案

回答

4
<?php 
$n = array('test','test2', 'test3'); 
?> 
<script type="text/javascript"> 
    var arr = <?php echo json_encode($n); ?>; // create the JavaScript array 
    initArray(arr); // use it 
    function initArray(array){ 
     for(var i = 0; i < array.length; i++){ 
      alert(array[i]); 
     } 
    } 
</script> 

您需要使用json_encode到PHP數組轉換爲JavaScript之一,它的輸出結果,而其分配給一個JavaScript變量。

+0

謝謝..它工作完美! – Linqan

+0

@林倩:太棒了!如果我的答案解決了您的問題,請隨時通過點擊我答案左側的投票計數下面的空白勾來接受答案,使其成爲綠色,這會將您的問題標記爲已解決。 – Shef

3

你必須序列化。用JSON試試吧。 http://php.net/manual/en/book.json.php

+0

我從未使用過JSON。這是唯一的方法嗎? – Linqan

+0

不是唯一的,但我猜是最好的。看看這個例子。 http://php.net/manual/en/function.json-encode.php – atzu