这是不好的练习还是如果我在foreach循环中使用curl会更慢?
我打算有一个自动完成输入字段,输入中的查询将被发送到API调用。
我从某个链接获取了一个ID(即:http://api.linke1.com/names)
foreach($json as j){
$id = $j->id; //from http://api.linke1.com/names
$url = "https://api.site/{$id}/photos";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$output = curl_exec($ch);
curl_close($ch);
$jsonDecode = json_decode($output);
$results = $jsonDecode->results;
foreach($results as $result)
{
$photoURL= $result->photo->url; //from https://api.site/{$id}/photos
}
}
所以每当我输入一个名字时,它会进入foreach,从http://api.linke1.com/names
搜索一个id,然后它会从另一个链接中查找照片网址。我想输出一个数组列表,所以最终我会有一个输出数据列表,显示名称,照片等信息......
这会显着减慢因为输入字段中输入的每个字母都将通过此foreach循环运行。会有更简单的方法吗?
谢谢!
答案 0 :(得分:1)
初始化卷曲和循环前没有变化的东西,然后关闭它。
这会加速一点点。
您可以使用curl_multi_ *,它可以并行获取多个网址。