Php curl多请求分割结果数组

Php curl多请求分割结果数组,php,mysql,curl,Php,Mysql,Curl,道歉,如果这是一个非常基本的问题。我使用multi-curl来处理各种URL的数组。它似乎工作得很好,但是,结果被分组到一个数组中。我想把结果插入我的数据库,所以我想我需要分别处理每个URL的结果。我的代码如下所示: $nodes = array($url1, $url2, $url3); $node_count = count($nodes); $curl_arr = array(); $master = curl_multi_init(); for($i = 0; $i < $no

道歉,如果这是一个非常基本的问题。我使用multi-curl来处理各种URL的数组。它似乎工作得很好,但是,结果被分组到一个数组中。我想把结果插入我的数据库,所以我想我需要分别处理每个URL的结果。我的代码如下所示:

$nodes = array($url1, $url2, $url3);
$node_count = count($nodes);

$curl_arr = array();
$master = curl_multi_init();

for($i = 0; $i < $node_count; $i++)
{
    $url =$nodes[$i];
    $curl_arr[$i] = curl_init($url);
    curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl_arr[$i], CURLOPT_FOLLOWLOCATION, true);
    curl_multi_add_handle($master, $curl_arr[$i]);
}

do {
    curl_multi_exec($master,$running);
} while($running > 0);

for($i = 0; $i < $node_count; $i++)
{
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_EFFECTIVE_URL);
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_HTTP_CODE);
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_CONTENT_TYPE);
}
print_r($results);
我的想法是否正确?如果是,我如何划分结果


感谢您的帮助

您可以按$i的值对结果进行分组,只需将最后一个foreach更改为:


在$results的末尾,您将所有值分组到一个覆盖维度数组中。您可以对$results执行另一个foreach,并以更具语义的方式(例如通过url)重新格式化它。谢谢您的帮助。效果非常好。我想你不能帮我解决最后一道题。我试图添加一个函数来检查每个URL请求的结果中是否存在字符串。我在没有使用curl multi的情况下让它工作,但无法让它使用multi。此函数执行简单的检查$text=curl\u exec$ch$test=strpos$text,$string;
for($i = 0; $i < $node_count; $i++)
{
  $results[$i][] = curl_getinfo($curl_arr[$i], CURLINFO_EFFECTIVE_URL);
  $results[$i][] = curl_getinfo($curl_arr[$i], CURLINFO_HTTP_CODE);
  $results[$i][] = curl_getinfo($curl_arr[$i], CURLINFO_CONTENT_TYPE);
}