1

在我的PHP腳本中,我有一個多維和關聯數組,我想將其「轉換」爲一個javascript數組。該陣列看起來像這樣在PHP:如何在JavaScript中創建多維和關聯數組?

<?php 
    $myArray = array(
     array("value" => 1, "label" => "First"), 
     array("value" => 2, "label" => "Second") 
    ) 
?> 

,現在我想創建一個數組在javascript等效的陣列,通過一個foreach循環。事情是這樣的:

<script> 
    var myArrayInJS = new Array(); 
     <? foreach($myArray as $innerArray): ?> 
      // What do I write here? 
     <? endforeach; ?> 
</script> 
+0

可能重複http://stackoverflow.com/questions/4329092/multi-dimensional-associative-arrays-in-javascript – 2012-03-02 15:44:27

回答

7

你可以使用

var myArrayInJs = <?php echo json_encode($myArray); ?>; 
+0

太棒了!沒有亂七八糟的foreach循環...但我很好奇,JavaScript看到json-notation和array-notation之間沒有區別嗎?一樣? – Weblurk 2012-03-02 15:48:40

+1

@FoadFarkhondeh JSON是如何在Javascript中創建數組和對象的推薦方法。 – duri 2012-03-02 15:55:14

-1

的JavaScript多維數組(或對象)有以下符號:

var multi = { "key1" : "val1" , "key2" : "val2" }

而且你訪問(並分配)他們喜歡obj.key

alert(multi.key1) //這會提醒'val1'。

既然看起來你已經知道了PHP方面,我會讓你離開這裏。

希望這會有所幫助。

+0

這實際上是一維數組.. – Stranger 2015-08-21 09:05:11

0

我會建議你不要把PHP放入Javascript中。如果你改變你的PHP變量或者移動你的模板,它可能會搞砸了。

只需爲它創建一個Ajax請求,將其作爲JSON返回,那麼您不需要開始構建複雜的數組。你只會有一個很好的整潔對象

+0

好點,謝謝。 – Weblurk 2012-03-02 15:51:35

+0

從技術上講,數組和對象在JS中幾乎是相同的(減去幾個小點)。但是我肯定會提出一個請求......它使生活變得如此簡單,並且意味着您可以將js轉換爲模板中的.js文件。 – outrunthewolf 2012-03-02 15:57:02