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

PHP处理CURL返回JSON:移除响应头并提取姓名字段

解决CURL响应头输出问题并提取用户姓名字段

修改后的完整代码

$url = "https://randomuser.me/api/";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$headers = array(
    "X-Custom-Header: header-value",
    "Content-Type: application/json"
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
// 关闭响应头输出,只获取响应体
curl_setopt($curl, CURLOPT_HEADER, false);
$response = curl_exec($curl);
curl_close($curl);

// 解析JSON响应并提取姓名
$userData = json_decode($response, true);
if ($userData && isset($userData['results'][0]['name'])) {
    $firstName = $userData['results'][0]['name']['first'];
    $lastName = $userData['results'][0]['name']['last'];
    echo "用户姓名:{$firstName} {$lastName}";
} else {
    echo "获取用户数据失败";
}

关键修改说明

  • 移除HTTP响应头:原代码中CURLOPT_HEADER被设置为true,这会让CURL把HTTP响应头和响应体一并返回。将其改为false后,curl_exec只会返回接口的JSON响应体,不再包含头信息。
  • 提取姓名字段:
    1. 用json_decode($response, true)将JSON字符串转为关联数组,第二个参数设为true确保返回数组而非对象。
    2. 接口返回的用户数据存于results数组的第一个元素中,通过$userData['results'][0]['name']['first']和$userData['results'][0]['name']['last']即可分别提取名和姓。
    3. 增加了基础的异常判断,避免接口返回格式异常时出现报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:22:17