我試圖加載中文單詞作爲關鍵字,並將它們的英文翻譯作爲數據庫中的值存入PHP數組,以便我可以在JavaScript中使用它們在客戶端。因此,我調用PHP鍵:值對到JavaScript數組並嘗試輸出結果作爲鍵值對這樣:將php關聯數組轉換爲javascript對象
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
中國和英語單詞都是在關係數據庫中裝載。
PHP:
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
的Javascript:在這裏,我想$。每個輸出鍵作爲一個字符串,而不是數字索引。所以,當我試圖var words = [<?php echo '"'.implode('","', $wordsArray).'"' ?>];
作爲一個數組,我得到:
stuff : 0, You
stuff : 1, Him or Her
stuff : 2, I
當我真正需要的:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
因此,我改變words
是一個對象,以便$.each
可輸出密鑰字符串:
var words = {<?php echo '"'.implode('","', $wordsArray).'"' ?>};
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
會拋出錯誤:SyntaxError: Unexpected token ,
幾乎對。不要把它放在引號中。 – Barmar
@Barmar是的,你是對的,我刪除了引號和'評論'它。 –