Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.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/4/json/14.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中使用json_encode()获取json格式的输出_Php_Json_Associative Array_Php 7 - Fatal编程技术网

尝试在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中。我认为我们必须处理数组到对象的转换。