通过 CURL 循环访问查询链接,并在 PHP 中合并结果数组


Looping through query links via CURL and merging result arrays in PHP

下面的代码应该在Twitter上搜索一个术语,遍历所有结果页面并返回一个大数组,并在每一步附加每个页面的结果。

foreach($search_terms as $term){
    //populate the obj array by going through all pages
    //set up connection
    $ch = curl_init();
    // go through all pages and save in an object array
    for($j=1; $j<16;$j++){
        $url ='http://search.twitter.com/search.json?q=' . $term .'&rpp=100&page='.$j.'';
        curl_setopt($ch, CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
        $var[$j] = curl_exec($ch);
        curl_close($ch);
        $obj = array_merge((array)$obj,(array)json_decode($var[$j], true));
    }
}

虽然它不太有效,但出现以下错误:

curl_setopt(): 3 is not a valid cURL handle resource
curl_exec(): 3 is not a valid cURL handle resource
curl_close(): 3 is not a valid cURL handle resource
...... and this is repeated all the way from 3-> 7...
curl_setopt(): 7 is not a valid cURL handle resource
curl_exec(): 7 is not a valid cURL handle resource
curl_close(): 7 is not a valid cURL handle resource
//set up connection
$ch = curl_init();
// go through all pages and save in an object array
for($j=1; $j<16;$j++){

您需要调用curl_init()循环,因为您在每次迭代结束时关闭它。