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

如何在PHP中从JSON转数组提取信息并生成HTML表格?

在PHP中将JSON数组转为HTML表格的方法

前置说明

你已经通过json_decode($jsonString, true)将JSON转换为关联数组,接下来可以按以下步骤提取数据并生成HTML表格:

1. 提取核心数据

你的数组外层是一个包含trends字段的元素,先提取出趋势数据:

// 假设$json是原始JSON字符串,转换为关联数组
$data = json_decode($json, true);
// 提取trends数组
$trends = $data[0]['trends'];

2. 生成HTML表格

通过循环遍历trends数组,逐行生成表格内容,同时处理空值和转义HTML字符避免安全问题:

// 输出表格开始标签
echo '<table border="1" cellpadding="8" cellspacing="0">';

// 输出表头
echo '<tr>';
echo '<th>趋势名称</th>';
echo '<th>搜索链接</th>';
echo '<th>推文量</th>';
echo '</tr>';

// 遍历每个趋势项,生成表格行
foreach ($trends as $trend) {
    echo '<tr>';
    // 转义HTML字符,防止XSS
    echo '<td>' . htmlspecialchars($trend['name']) . '</td>';
    // 生成可点击的链接
    echo '<td><a href="' . htmlspecialchars($trend['url']) . '" target="_blank">' . htmlspecialchars($trend['url']) . '</a></td>';
    // 处理tweet_volume为null的情况,显示默认文本
    echo '<td>' . ($trend['tweet_volume'] ?? '暂无数据') . '</td>';
    echo '</tr>';
}

echo '</table>';

3. 提取特定字段(仅name和url)

如果只需要提取name和url字段,可以用array_map快速过滤:

$filteredData = array_map(function($item) {
    return [
        'name' => $item['name'],
        'url' => $item['url']
    ];
}, $trends);

// 打印查看过滤后的结果
print_r($filteredData);

注意事项

  • 务必使用htmlspecialchars()转义输出内容,避免跨站脚本攻击(XSS);
  • 使用??运算符处理tweet_volume为null的情况,保证页面显示友好;
  • 可以根据需求调整表格的样式(比如去掉border,用CSS美化)。

内容的提问来源于stack exchange,提问作者Viney Bhatia

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 22:15:41