json的PHP多维数组只返回第一个结果



我正在为我正在开发的在线服务编写一个API,下面的代码应该从数据库中获取数据,并将其结构如下:

{
    data: [
            {
                    name: [
                            "xxx"
                    ],
                    description: [
                            "xxx"
                    ],
                    event_date: [
                            "xxx"
                    ],
            }
            {
                    name: [
                            "yyy"
                    ],
                    description: [
                            "yyy"
                    ],
                    event_date: [
                            "yyy"
                    ],
            }
    ]
 }

但相反,它是这样显示的:

{
    data: [
            {
                    name: [
                            "xxx"
                    ],
                    description: [
                            "xxx"
                    ],
                    event_date: [
                            "xxx"
                    ],
            }
    ]
 }

我不知道我做错了什么,肯定是一些愚蠢而简单的事情。。。

这是代码:

if($result) {
  $i = 0;
  $x = 0;
  $results_main_array['data'] = array();
  $description_array = array("name", "description", "event_date", "location", "photos", "logo", "video");
  $results_array = array();
  while($row = $result->fetch_array(MYSQLI_NUM)) {
    foreach($row as $r) {
      if($i >= count($row)) {
        $i = 0;
        array_push($results_main_array['data'], $results_array);
      }
      $results_array[$description_array[$i]] = array($r);
      ++$i;
    }
  }
  echo json_encode($results_main_array);
} else {
  echo "else";
}

好的,很抱歉浪费了任何人的时间,我发现了问题,我有

array_push($results_main_array['data'], $results_array);

在前臂内部,一旦我把它从循环中放出来,一切都会好起来。

相关内容

  • 没有找到相关文章

最新更新