将 php 关联数组转换为 javascript 对象 [英] convert php associative array into javascript object
问题描述
我正在尝试将中文单词作为键加载,并将它们的英文翻译作为值从数据库加载到 php 数组中,以便我可以在 JavaScript 的客户端使用它们.所以我将 PHP 键值对加载到 JavaScript 数组中,并尝试将结果作为键值对输出:
I'm trying to load Chinese words as keys, and their English translations as values from a database into a php array so then I can use them on the client side in JavaScript. So I load the PHP key:value pairs into the JavaScript array and try to output the results as key value pair as such:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
中英文单词加载到关系数据库中.
Chinese and English words are loaded in a relational database.
PHP:
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
Javascript:这里我希望 $.each 将键作为字符串输出,而不是数字索引.因此,当我尝试将 var words = [<?php echo '"'.implode('","', $wordsArray).'"' ?>];
作为数组时,我得到了:
Javascript: Here I want the $.each to output the key as a string, and not a number index. So when I tried var words = [<?php echo '"'.implode('","', $wordsArray).'"' ?>];
as an array, I got:
stuff : 0, You
stuff : 1, Him or Her
stuff : 2, I
当我真的在寻找时:
stuff : Ni, You
stuff : Ta, Him or Her
stuff : Wo, I
所以我把 words
改成一个对象,这样 $.each
就可以将 key 作为字符串输出:
So I changed words
to be an object so that $.each
could output key as string:
var words = {<?php echo '"'.implode('","', $wordsArray).'"' ?>};
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
抛出错误:SyntaxError: Unexpected token ,
推荐答案
您可以使用 json_encode() 将 array
作为 json 对象
之类的,
You can use json_encode() to make array
as an json object
like,
var words = <?php echo json_encode($wordsArray) ?>;// don't use quotes
$.each(words, function(key, value) {
console.log('stuff : ' + key + ", " + value);
});
这篇关于将 php 关联数组转换为 javascript 对象的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!