php循环函数中的多次返回

php循环函数中的多次返回,php,function,return,echo,Php,Function,Return,Echo,我正在构建一个webscraper,我在其中循环浏览多个页面,每页20个项目 我可以退回这个还是应该使用echo?我现在使用echo,但希望切换为返回,以便对每个文件的输出进行更多控制(在多个页面中使用此函数) 函数function1(){ $link=$url; $url_items=$url2; 对于($pageNr=1;$pageNr$link]); $response=$client->request('GET','/zoeken'[ “查询”=>[ “页面”=>$pageNr ] ])

我正在构建一个webscraper,我在其中循环浏览多个页面,每页20个项目

我可以退回这个还是应该使用echo?我现在使用echo,但希望切换为返回,以便对每个文件的输出进行更多控制(在多个页面中使用此函数)

函数function1(){
$link=$url;
$url_items=$url2;
对于($pageNr=1;$pageNr$link]);
$response=$client->request('GET','/zoeken'[
“查询”=>[
“页面”=>$pageNr
]
]);
如果($response->getStatusCode()==200){
回声“Pagina:.$pageNr.”
; 对于($item=1;$item find(#resultitem-$item),0)->find('.item-description2',0)->find('.title',0)->find('a',0)->明文; $content\u url=$html->find('resultitem-$item',0)->find('.item-description2',0)->find('.title',0)->find('a',0)->getAttribute('href',0); 如果(!空($content)){ 回声$item.“.
”; } } } } 睡眠(2); } }
我正在回显一个链接,但我只需要这些值,这样我就可以在其他页面中控制它


我想返回
$content
$content\u url
,如何将其更改为返回?

创建一个数组,然后返回它

在您的案例中,以下是一个示例:

函数function1(){
$link=$url;
$url_items=$url2;
$dataArr=array();
对于($pageNr=1;$pageNr$link]);
$response=$client->request('GET','/zoeken'[
“查询”=>[
“页面”=>$pageNr
]
]);
如果($response->getStatusCode()==200){
$data['pageNo']=$pageNr;
对于($item=1;$item find(#resultitem-$item),0)->find('.item-description2',0)->find('.title',0)->find('a',0)->明文;
$content\u url=$html->find('resultitem-$item',0)->find('.item-description2',0)->find('.title',0)->find('a',0)->getAttribute('href',0);
如果(!空($content)){
$data['content']=$content;
$data['content\u url']=$content\u url;
阵列推送($dataArr,$data);
}
}
}
}
睡眠(2);
}
返回$dataArr;
}

将值放入关联数组并返回数组是否需要每2秒返回一次,或者是否可以等待结果结束?在后一种情况下,只需填充数组并返回it@SélimAchour最后我需要它,但我使用sleep(2)是为了在服务器上轻松使用,而且不会造成过载。
function function1(){
    $link = $url;
    $url_items = $url2;
    for($pageNr=1; $pageNr<11; $pageNr++){
        $client = new \GuzzleHttp\Client(['base_uri' => $link]);
        $response = $client->request('GET', '/zoeken', [
            'query' => [
                'page' => $pageNr
            ]
        ]);
        if($response->getStatusCode() === 200){
            echo "Pagina: " . $pageNr . "<br/>";
            for($item = 1; $item <=20; $item++){
                $url = $url . "?" . $pageNr;
                $html = file_get_html($url);
                if(!empty($html)){
                    $content = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->plaintext;
                    $content_url = $html->find("#resultitem-$item", 0)->find('.item-description2', 0)->find('.title', 0)->find('a', 0)->getAttribute('href', 0);
                    if(!empty($content)){
                        echo $item . ". <a href='" . $url_items . $content_url .  "'>" . $content ."</a><br/>";
                    }
                }
            }
        }
        sleep(2);
    }
}