You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PHP脚本从MySQL数据库获取数据生成嵌套JSON数组?

生成嵌套JSON数组的PHP解决方案

我看了你现在的代码,要实现你想要的嵌套JSON结构,核心思路是按title字段对数据进行分组,把同一分类下的name和image整理成子数组,再组合成最终的嵌套结构。

假设你的数据库表结构

首先我假设你的upcomingevent_banner表包含以下字段(如果实际字段名不同,你可以对应修改代码里的键名):

  • title:对应Dance、Music这类分类标题
  • name:对应每个section里的名称
  • image:对应每个section里的图片链接

修改后的PHP代码

<?php
require "conn.php";
// 建议用字段名明确查询,避免*带来的不确定性
$sql = "SELECT title, name, image FROM upcomingevent_banner";
$result = mysqli_query($conn, $sql);

// 先创建一个临时数组,用来按title分组存储数据
$groupedData = [];
while ($row = mysqli_fetch_assoc($result)) {
    $title = $row['title'];
    // 如果这个title还没在分组数组里,先初始化一个空的section数组
    if (!isset($groupedData[$title])) {
        $groupedData[$title] = [];
    }
    // 把当前行的name和image添加到对应title的section里
    $groupedData[$title][] = [
        "name" => $row['name'],
        "image" => $row['image']
    ];
}

// 把分组后的数组转换成你需要的最终结构
$finalResponse = ["data" => []];
foreach ($groupedData as $title => $section) {
    $finalResponse["data"][] = [
        "title" => $title,
        "section" => $section
    ];
}

// 输出JSON,确保中文等特殊字符正常显示可以加JSON_UNESCAPED_UNICODE
echo json_encode($finalResponse, JSON_UNESCAPED_UNICODE);
$conn->close();
?>

代码说明

  1. 分组存储:先用$groupedData数组按title把同分类的条目聚合起来,这样能方便后续生成嵌套的section数组。
  2. 构建最终结构:遍历分组后的数组,把每个title和对应的section数组组合成对象,放到data数组里。
  3. 优化查询:用明确的字段名替代SELECT *,让代码更清晰且避免不必要的字段干扰。
  4. 字符编码:添加JSON_UNESCAPED_UNICODE参数可以防止中文被转义成Unicode编码,让JSON更易读。

测试输出

运行这段代码后,就能得到你期望的嵌套JSON结构啦:

{
  "data": [
    {
      "title": "Dance",
      "section": [
        {
          "name": "kids dancing in school",
          "image": "http://images1.com"
        },
        {
          "name": "Bharatanattyam",
          "image": "http://image2.com"
        }
      ]
    },
    {
      "title": "Music",
      "section": [
        {
          "name": "keyboard player",
          "image": "image3.com"
        },
        {
          "name": "you gotta do that",
          "image": "https://image4.com"
        }
      ]
    }
  ]
}

内容的提问来源于stack exchange,提问作者sandeep naik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:16:31