我试图加载中文单词作为关键字,并将它们的英文翻译作为数据库中的值存入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是的,你是对的,我删除了引号和'评论'它。 –