如何从cURL请求API返回的JSON响应中提取指定CALLID存入PHP变量
实现步骤及代码示例
1. 处理cURL返回的JSON响应
你通过cURL拿到接口返回的JSON字符串后,先用json_decode()方法将其转为PHP关联数组,注意第二个参数传true,否则默认返回对象格式。
// 假设cURL请求得到的响应内容存储在$apiResponse变量中 $callList = json_decode($apiResponse, true); // 增加JSON解析校验,避免异常报错 if (json_last_error() !== JSON_ERROR_NONE) { die('响应数据解析失败'); }
2. 遍历筛选匹配条目提取CALLID
因为接口返回多条在线用户数据,直接遍历所有条目,匹配fromAddress为127.0.0.1:5060的条目后取出callID存入变量即可,如果确认只有一个匹配项,找到后可以直接跳出循环节省性能。
$targetCallId = null; $filterAddress = '127.0.0.1:5060'; foreach ($callList as $item) { if (isset($item['fromAddress']) && $item['fromAddress'] === $filterAddress) { $targetCallId = $item['callID']; // 确认唯一匹配的情况下可以加break跳出循环 break; } } // 后续直接使用$targetCallId变量即可 if ($targetCallId) { // 你的后续业务逻辑 } else { echo "未找到匹配的通话记录"; }
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

