2013-10-26 36 views
1

創建關鍵=>值陣列以正確的方式我有這個PHP數組:什麼是在Javascript

$teams = array(
    "img1" => "img/img1.jpg", 
    "img2" => "img/img2.jpg", 
    "img3" => "img/img3.jpg", 
    ... 
); 

有沒有什麼辦法讓JavaScript中的同一陣列?同樣的數組我的意思是一個數組key => values

回答

4

JavaScript中沒有關聯數組,但是可以使用帶有key.value對的對象。

var obj = {}; 
obj.myNewKey = myNewValue; 

您也可以參考這些對象的屬性以下列方式:

obj['myNewKey'] = myNewValue; 

只要記住,雖然它看起來像一個關聯數組,它實際上是一個對象。

還有這樣:

var obj = { 
    myNewKey:"myNewValue", 
    "myOtherKey":"myOtherValue" 
}; 
0

號數組數字索引。

但是,對象允許字符串鍵值,類似於關聯數組(但不完全 - 它是無序的並且沒有數組方法)。

var teams = { 
    "img1":"img/img1.jpg", 
    "img2":"img/img2.jpg", 
    "img3":"img/img3.jpg" 
}; 
0
var a={"key":"value","key2":"value2"} 
0

如果您希望從你的PHP中的HTML轉移到你的腳本標籤的確切陣列,你可以把它作爲以下列方式JSON字符串:

<html> 
    <head> 
     <script> 
     // some js code here 
     var teams = <?php echo json_encode($teams); ?>; 
     // some other js code 
     </script> 
    </head> 
    <body> 
     page html content here 
    </body> 
<html> 
+0

對不起,我的意思是eval,非常感謝@mplungjan –

+0

@mplungjan,評估json字符串並將其轉換爲JS對象,還是有更好的方法來製作? –

+0

http://php.net/manual/en/function.json-encode.php我的建議。沒有必要做任何事情,除了把'var varname ='放在它前面 – mplungjan

1

你意思是echo "var teams = ".json_encode($teams);