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

如何获取curl_multi_exec执行结果并拆分到两个变量中

解决curl_multi_exec结果拆分到指定变量的问题

你只需要在处理每个异步请求结果时,根据请求的索引(对应urls数组的顺序)将解析后的JSON分别赋值给$response_url和$response_url2即可。修改后的代码如下:

$urls = [
    "https://rssbot.ru/1.json",
    "https://rssbot.ru/2.json"
];

$mh = curl_multi_init();     
$allResponse = [];

foreach($urls as $k => $url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_multi_add_handle($mh, $ch);
    $allResponse[$k] = $ch;
}

$running = null;
do {
    curl_multi_exec($mh, $running);
} while($running > 0);

// 初始化目标变量
$response_url = null;
$response_url2 = null;

foreach($allResponse as $id => $ch) {
    $response = curl_multi_getcontent($ch);
    curl_multi_remove_handle($mh, $ch);
    
    $decoded_response = json_decode($response);
    var_dump($decoded_response); // 保留调试输出
    
    // 根据请求索引分配结果到对应变量
    if ($id === 0) {
        $response_url = $decoded_response;
    } elseif ($id === 1) {
        $response_url2 = $decoded_response;
    }
}

curl_multi_close($mh);

// 现在可分别处理两个变量
var_dump($response_url);
var_dump($response_url2);

关键修改说明:

  • 提前初始化$response_url和$response_url2,避免未定义变量警告
  • 利用$id(对应urls数组的索引,0对应第一个链接,1对应第二个链接)将解析后的JSON结果分别赋值给目标变量
  • 后续可直接使用$response_url和$response_url2处理各自的JSON数据

内容的提问来源于stack exchange,提问作者Наталья Юрова

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 15:10:39