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

如何用循环将PHP CURL获取的数据以表格形式输出到网页

实现方案:将API数据转为HTML表格展示

修改后的完整代码

<?php
$user_curl = curl_init();

curl_setopt_array($user_curl, array(
    CURLOPT_URL => "https://gorest.co.in/public-api/users",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 60,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_POSTFIELDS => "",
    CURLOPT_HTTPHEADER => array(
        "cache-control: no-cache",
        "content-type: application/json",
    ),
));

$user_curl_response = curl_exec($user_curl);
$user_curl_err = curl_error($user_curl);

if ($user_curl_response) {
    $result = json_decode($user_curl_response, true);
    
    // 检查是否存在有效数据
    if (!empty($result['data']) && is_array($result['data'])) {
        // 开始生成HTML表格
        echo '<table border="1" cellpadding="8" cellspacing="0">';
        
        // 生成表头:取第一条数据的键作为表头
        $headers = array_keys($result['data'][0]);
        echo '<thead><tr>';
        foreach ($headers as $header) {
            // 将键转为更友好的显示文本
            $displayHeader = ucwords(str_replace('_', ' ', $header));
            echo "<th>{$displayHeader}</th>";
        }
        echo '</tr></thead>';
        
        // 生成表格内容行
        echo '<tbody>';
        foreach ($result['data'] as $user) {
            echo '<tr>';
            foreach ($user as $value) {
                // 对status字段添加样式区分
                if ($value === 'active') {
                    echo "<td style='color: green; font-weight: bold;'>{$value}</td>";
                } elseif ($value === 'inactive') {
                    echo "<td style='color: red;'>{$value}</td>";
                } else {
                    echo "<td>{$value}</td>";
                }
            }
            echo '</tr>';
        }
        echo '</tbody></table>';
    } else {
        echo '没有获取到有效用户数据';
    }
} else {
    echo '请求失败:' . $user_curl_err;
}

curl_close($user_curl); // 释放CURL资源
?>

关键说明

  • 表头生成:通过array_keys($result['data'][0])提取第一条用户数据的键名,转成更友好的表头文本(比如id转为Id,status转为Status)。
  • 数据遍历:循环$result['data']中的每个用户数组,逐行渲染表格内容。
  • 样式优化:给active和inactive状态添加颜色区分,提升页面可读性。
  • 异常处理:增加数据有效性判断,避免空数组引发错误;同时捕获CURL请求错误并给出提示。
  • 资源管理:添加curl_close($user_curl)释放CURL资源,规范代码逻辑。

内容的提问来源于stack exchange,提问作者Ajay Tiwari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 17:45:45