DB设置如下:
include 'php/DbConnect.php';
$sql = $mysqli->query(
"SELECT t.*, v.*
FROM task t
INNER JOIN vocabtask vt ON (t.id = vt.taskid)
INNER JOIN vocab v ON (v.id = vt.vocabid)
WHERE vt.taskid = 1");
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
// echo "<br> " . $row['taskname'] . ": ". $row['chinese'] . " : " . $row['english'];
$wordsArray['chinese']['english'] = $row['chinese'];
echo $wordsArray['chinese']['english'];
}
mysqli_close($mysqli);
输出:Ni Ta Wo
所需的输出:Ni: You
Ta: Him
Wo: I
我希望将中文单词(键)和相关的英文翻译(值)加载到wordsArray中,但不知道加载和访问的正确语法。
由于
答案 0 :(得分:1)
也许你想要这个?它映射一个方向,中文到英文,但据我所知,并没有一个非常好的方法来进行双向映射。 (通常我使用两个映射来执行此操作。)编辑:根据您的编辑,这似乎是您想要的方向。
$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
$wordsArray[$row['chinese']] = $row['english'];
}
mysqli_close($mysqli);
var_dump($wordArray);
答案 1 :(得分:0)
$json = array();
foreach (...) {
$json[$row['chinese']] = $row['english']
}
$return_result = json_encode($json);
echo $return_result;
您可以使用jQuery
获取该返回值,并使用jQuery.parseJSON()
将其解析为带有/不带ajax的jSON。
更新,如果您不想使用ajax解析数据,只需将结果添加到script
标记内的页面,如
<script type="text/javascript">
(function($){
var data = '<?php echo $return_result; ?>';
var json = $.parseJSON(data);
console.log(json);
})(jQuery);
</script>