Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从数据库向php关联数组添加键值对_Php_Arrays - Fatal编程技术网

从数据库向php关联数组添加键值对

从数据库向php关联数组添加键值对,php,arrays,Php,Arrays,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 ($ro

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);  

包括'php/DbConnect.php';
$sql=$mysqli->query(
选择t.*,v.*
来自任务t
内部连接vocabtask vt ON(t.id=vt.taskid)
内部连接vocab v ON(v.id=vt.vocabid)
其中vt.taskid=1“;
$wordsArray=array();
而($row=$sql->fetch\u assoc()){
//echo“
”$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

我希望将中文单词(key)和相关的英文翻译(value)加载到wordsArray中,但不知道要加载和访问的正确语法


谢谢

也许你想要这个?它映射了一个方向,从中文到英文,但据我所知,没有一个真正伟大的方法来进行双向映射。(通常我使用两个映射来实现这一点。)编辑:根据您的编辑,这似乎是您想要的方向

$wordsArray = array();
while ($row = $sql->fetch_assoc()) {
    $wordsArray[$row['chinese']] = $row['english'];
}
mysqli_close($mysqli);  
var_dump($wordArray);
您可以使用
jQuery
获取返回值,并使用
jQuery.parseJSON()
和/或不使用ajax将其解析为jSON

更新,如果不想用ajax解析数据,只需将结果添加到
脚本中的
标记中,如

<script type="text/javascript">
(function($){
    var data = '<?php echo $return_result; ?>';
    var json = $.parseJSON(data);
    console.log(json);
})(jQuery);
</script>

(函数($){
var数据=“”;
var json=$.parseJSON(数据);
log(json);
})(jQuery);

首先告诉我们钥匙在哪里,你的钥匙在db中吗?@PRAISER,谢谢。我该如何回显kv对呢?实际上是
回显“
”.key($wordsArray)。":" . $wordsArray[$row['chinese']
仅输出与每个唯一英文值的键相同的
Ni
,对于输出:
echo$row['chinese']。": " . $wordsArray[$row['chinese']没有更直接的方法来确保键是正确的,所以我在我的示例中放置了一个var_dump,它可以显示assoc.数组的结构。好的,所以我不能直接从$wordsArray输出键。。。真奇怪。。将此类数据发送到客户端的最佳方法是将它们放入一个数组中,并使用
jSON\u encode
函数将它们作为jSON发送,它包括键和值。
<script type="text/javascript">
(function($){
    var data = '<?php echo $return_result; ?>';
    var json = $.parseJSON(data);
    console.log(json);
})(jQuery);
</script>