尝试在php中使用json_encode()获取json格式的输出
我试图获得以下输出:尝试在php中使用json_encode()获取json格式的输出,php,json,associative-array,php-7,Php,Json,Associative Array,Php 7,我试图获得以下输出: { "1":{ "word":"Apple", "definition":"This is a Fruit" }, "2":{ "word":"Grapes", "definition":"This is a Fruit too" }, . . //so on . } 我的php7源代码(main.php)是: 我试图在我的main.php中应用关联数组的概念 如何通过在我上面的m
{
"1":{
"word":"Apple",
"definition":"This is a Fruit"
},
"2":{
"word":"Grapes",
"definition":"This is a Fruit too"
},
.
. //so on
.
}
我的php7源代码(main.php)是:
我试图在我的main.php中应用关联数组的概念
如何通过在我上面的main.php中使用循环来获得所需的json输出?尝试使用
json\u FORCE\u OBJECT
作为json\u encode()函数的参数。像这样
echo json_encode($marks,JSON_FORCE_OBJECT);
JSON\u FORCE\u OBJECT:使用非关联数组时,输出对象而不是数组。当输出的接收者需要一个对象,而数组为空时,特别有用
尝试使用JSON\u FORCE\u OBJECT
作为JSON\u encode()
函数的参数。像这样
echo json_encode($marks,JSON_FORCE_OBJECT);
JSON\u FORCE\u OBJECT:使用非关联数组时,输出对象而不是数组。当输出的接收者需要一个对象,而数组为空时,特别有用
我认为问题在于如何分配$marks
数组
while ($row = $result->fetch_array()) {
$marks[$row['sN']] = array(
"word" => $row['word'],
"definition" => $row['definition']
);
}
要获得0索引数组,您可以
$index = 0;
while ($row = $result->fetch_array()) {
$marks[$index] = array(
"word" => $row['word'],
"definition" => $row['definition']
);
$index++;
}
我认为问题在于如何分配$marks
数组
while ($row = $result->fetch_array()) {
$marks[$row['sN']] = array(
"word" => $row['word'],
"definition" => $row['definition']
);
}
要获得0索引数组,您可以
$index = 0;
while ($row = $result->fetch_array()) {
$marks[$index] = array(
"word" => $row['word'],
"definition" => $row['definition']
);
$index++;
}
json\u encode($marks)
的输出是什么?你期望得到什么?{“穆罕默德”:{“物理”:35,“数学”:30,“化学”:39},“卡迪尔”:{“物理”:30,“数学”:32,“化学”:29},“扎拉”:{“物理”:31,“数学”:22,“化学”:39}我期望得到上述结果。。!你的json编码($marks)
的输出是什么?你怎么能在数组中定义一些东西-单词和定义-而期望其他东西-物理、数学和化学-?@HassanAhmed,我粘贴了两个代码:一个是main.PHP,我想在那里获得JSON格式的输出,另一个是我从教程中复制的代码(包括物理、化学和数学)。忘了价值观吧。我只是想让他们的格式,我张贴在我的问题上面。比如{“1”:{“单词”:“苹果”,“定义”:“这是一个水果”},“2”:{“单词”:“葡萄”,“定义”:“这也是一个水果”},..//等等。}json_encode($marks)的输出是什么?你期望得到什么?{“穆罕默德”:{“物理”:35,“数学”:30,“化学”:39},“卡迪尔”:{“物理”:30,“数学”:32,“化学”:29},“扎拉”:{“物理”:31,“数学”:22,“化学”:39}我期望得到上述结果。。!你的json编码($marks)的输出是什么?你怎么能在数组中定义一些东西-单词和定义-而期望其他东西-物理、数学和化学-?@HassanAhmed,我粘贴了两个代码:一个是main.PHP,我想在那里获得JSON格式的输出,另一个是我从教程中复制的代码(包括物理、化学和数学)。忘了价值观吧。我只是想让他们的格式,我张贴在我的问题上面。比如{“1”:{“单词”:“苹果”,“定义”:“这是一个水果”},“2”:{“单词”:“葡萄”,“定义”:“这也是一个水果”},../等等。}你在var_dump(json_encode($marks,json_FORCE_OBJECT))中得到了什么代码>。如果我替换$marks[]=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']),我会得到bool(false);按$marks=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']);我得到:{“176023”:{“单词”:“Zythum”,“定义”:“一种古老的麦芽饮料;由麦芽和小麦制成的酒。”}}这就是我们想要的。现在,我如何才能获得在var_dump(json_encode($marks,json_FORCE_OBJECT))中获得的其他值代码>。如果我替换$marks[]=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']),我会得到bool(false);按$marks=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']);我得到:{“176023”:{“单词”:“Zythum”,“定义”:“一种古老的麦芽饮料;由麦芽和小麦制成的酒。”}}这就是我们想要的。现在,如果我替换$marks[]=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']),那么如何获取其他值呢;按$marks=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']);我得到:{“176023”:{“单词”:“Zythum”,“定义”:“一种古老的麦芽饮料;由麦芽和小麦制成的酒。”}}这就是我们想要的。现在,我如何获取其他值?好吧,从代码中删除$row['sN']
,将其设置为$marks[]
,检查我的编辑器以Json格式生成输出,但只有最后一行保存到变量$marksbool(false)。。。。尝试将“$marks[$index]”替换为“$marks”,这样可以工作,但只有最后一行保存在$marks中。我认为我们必须处理数组到对象的转换。如果我替换$marks[]=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']),它会生成bool(false);按$marks=array($row['sN']=>array(“word”=>$row['word'],“definition”=>$row['definition']);我得到:{“176023”:{“单词”:“Zythum”,“定义”:“一种古老的麦芽饮料;由麦芽和小麦制成的酒。”}}这就是我们想要的。现在,我如何获取其他值?好吧,从代码中删除$row['sN']
,将其设置为$marks[]
,检查我的编辑器以Json格式生成输出,但只有最后一行保存到变量$marksbool(false)。。。。尝试将“$marks[$index]”替换为“$marks”,这样可以工作,但只有最后一行保存在$marks中。我认为我们必须处理数组到对象的转换。