将 php 关联数组转换为 javascript 对象 [英] convert php associative array into javascript object

查看:46
本文介绍了将 php 关联数组转换为 javascript 对象的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将中文单词作为键加载,并将它们的英文翻译作为值从数据库加载到 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆