curl请求获取接口数据后如何用PHP在HTML页以数组形式展示
PHP实现接口数据调取并展示方案
前置要求
- 确保你的PHP环境已开启cURL扩展
- 替换示例代码中的鉴权账号、密码为实际值
完整实现代码
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>接口数据展示</title> <style> pre {padding: 15px; background: #f5f5f5; border-radius: 4px;} </style> </head> <body> <h2>接口返回content字段数组内容:</h2> <?php // 初始化cURL $ch = curl_init(); // 配置cURL参数,和原curl命令逻辑完全对齐 curl_setopt($ch, CURLOPT_URL, 'https://api.xyz.com/v2.1/messages?limit=2&start_date=2021-01-01&end_date=2021-12-12'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 要求返回数据不直接输出到页面 curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); // 开启基础鉴权模式 curl_setopt($ch, CURLOPT_USERPWD, 'user:pass'); // 替换为实际的账号:密码 curl_setopt($ch, CURLOPT_TIMEOUT, 10); // 超时时间设为10秒,避免接口无响应导致程序卡住 // 测试环境如果遇到SSL证书校验失败可以临时加下面这行,生产环境建议删除 // curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 执行请求 $response = curl_exec($ch); // 处理请求异常 if(curl_errno($ch)) { echo '<p style="color:red;">请求错误:' . curl_error($ch) . '</p>'; curl_close($ch); exit; } curl_close($ch); // 解析JSON返回值为关联数组 $resultArr = json_decode($response, true); // 判断解析结果并输出content字段 if (json_last_error() !== JSON_ERROR_NONE) { echo '<p style="color:red;">返回数据不是标准JSON格式</p>'; } elseif (!isset($resultArr['content'])) { echo '<p style="color:red;">返回结果中不存在content字段</p>'; } else { // 用pre标签格式化输出数组,保留层级缩进 echo '<pre>'; print_r($resultArr['content']); echo '</pre>'; } ?> </body> </html>
代码说明
- cURL配置完全匹配原终端执行的curl命令,包含GET请求参数、基础身份鉴权逻辑
- 增加了全链路错误判断,覆盖请求失败、JSON解析失败、字段缺失等异常场景
- 搭配HTML的
<pre>标签输出数组,保留层级缩进,可读性更高
内容的提问来源于stack exchange,提问作者Neo
相关产品推荐
相关产品推荐

