我想在JavaScript中創建數組,這將使我訪問這樣的數據:創建二維關聯數組的JavaScript(同一個PHP assoc命令陣列)
var name = infArray[0]['name'];
但我似乎無法得到任何東西以這種方式工作。當我使用json_encode從php到javascript傳遞一個assoc數組時,它以這種方式構造數據。 之所以我這樣做是因爲我可以傳回數據以相同的格式到PHP來執行更新SQL請求。
我想在JavaScript中創建數組,這將使我訪問這樣的數據:創建二維關聯數組的JavaScript(同一個PHP assoc命令陣列)
var name = infArray[0]['name'];
但我似乎無法得到任何東西以這種方式工作。當我使用json_encode從php到javascript傳遞一個assoc數組時,它以這種方式構造數據。 之所以我這樣做是因爲我可以傳回數據以相同的格式到PHP來執行更新SQL請求。
JavaScript沒有關聯數組。它有(數字)數組和對象。
你想要的是兩者的結合。事情是這樣的:
var infArray = [{
name: 'Test',
hash: 'abc'
}, {
name: 'something',
hash: 'xyz'
}];
然後,像你展示,你可以訪問它:
var name = infArray[0]['name']; // 'test'
或使用點符號:
var name = infArray[0].name; // 'test'
非常感謝你所有的答案,一直愚蠢地呆在這個太久(猜測需要睡眠)你如何做到這一點,所以它是空的,然後你可以填充它在for循環? –
很高興能幫到你! :-D –
JavaScript沒有ASSOC陣列。對任何宣稱爲obj['somthing']
的對象的任何內容都等於obj.something
- 它是一個屬性。此外,在數組中它可能有點誤導,所以任何添加的屬性都不會改變數組集合嘗試obj.length
。
簡單地var infArray = [{name: 'John'}, {name: 'Greg'}]
;-)
的JavaScript沒有2D關聯數組本身。但是2D關聯數組可以通過下面的代碼來實現:
var myArr = { K1: {
K11: 'K11 val',
K12: 'K12 Val'
},
K2: {
K21: 'K21 Val',
K22: 'K22 Val'
}
};
alert(myArr['K1']['K11']);
alert(myArr['K1']['K12']);
alert(myArr['K2']['K21']);
alert(myArr['K2']['K22']);
如果你只是'數組serialize',它傳遞給其他PHP文件,然後'unserialize'它,你將有更簡單一些。中間的Javascript轉換似乎不是必要的。 – DevlshOne
@DevlshOne:JSON也是一種序列化格式,只是一種不同的格式。 –
我不太明白你的意思,我有2個數組包含的信息,我需要回傳到php從信息數組中取出的PHP ID? –