Php 为什么在两个循环中使用curl\u multi\u exec

Php 为什么在两个循环中使用curl\u multi\u exec,php,curl-multi,Php,Curl Multi,我看到一段示例代码,我想知道为什么要使用两个do-while循环?这两个循环有什么区别?等待在线回复,谢谢~~ do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do {

我看到一段示例代码,我想知道为什么要使用两个do-while循环?这两个循环有什么区别?等待在线回复,谢谢~~

do {
    $mrc = curl_multi_exec($mh, $active);
} while ($mrc == CURLM_CALL_MULTI_PERFORM);

while ($active && $mrc == CURLM_OK) {
    if (curl_multi_select($mh) != -1) {
        do {
            $mrc = curl_multi_exec($mh, $active);
        } while ($mrc == CURLM_CALL_MULTI_PERFORM);
    }
}

如前所述,第一个循环用于初始化HTTP客户端。通常它只执行一次。然后在第二个循环中发送HTTP请求并获取响应

如果您希望脚本在等待HTTP请求处理时执行某些操作(您可以将一些要执行的操作放在单独的页面中,并将其称为curl资源,但这有点混乱),那么这并不十分方便

有关更多详细信息和备用构造,请参见