Php 在foreach循环优化中使用curl?

Php 在foreach循环优化中使用curl?,php,optimization,curl,Php,Optimization,Curl,如果我在foreach循环中使用curl,这是一种不好的做法还是会更慢 我计划有一个自动完成输入字段,输入中的查询将发送到API调用 我正在从某个链接(即:)获取id 所以每次我输入一个名字,它都会进入foreach搜索http://api.linke1.com/names,然后它将从另一个链接中查找照片url。我想输出一个数组的列表,所以最终我将有一个数据列表来输出,显示诸如名称、照片等信息 因为输入字段中输入的每个字母都会通过这个foreach循环,所以速度会显著降低。有没有更简单的方法 谢

如果我在foreach循环中使用curl,这是一种不好的做法还是会更慢

我计划有一个自动完成输入字段,输入中的查询将发送到API调用

我正在从某个链接(即:)获取id

所以每次我输入一个名字,它都会进入foreach搜索
http://api.linke1.com/names
,然后它将从另一个链接中查找照片url。我想输出一个数组的列表,所以最终我将有一个数据列表来输出,显示诸如名称、照片等信息

因为输入字段中输入的每个字母都会通过这个foreach循环,所以速度会显著降低。有没有更简单的方法


谢谢

在循环之前初始化旋度和不变的东西,然后关闭它

这将使事情加快一点

您可以使用curl_multi_*,它可以并行获取多个URL


或者,他可以使用
文件\u get\u contents()
,因为这是一个简单的get请求。@xbonez一个curl请求更快。嗯,真的吗?我不知道。@xbonez是的,他们在这里讨论了一个问题:没有办法在一个请求中检索所有这些信息吗?一般来说,在循环中执行昂贵的操作(通过internet请求数据肯定是昂贵的操作)是个坏主意。您问题中的循环看起来是多余的。您最好通过不使用外部foreach来优化它。内部foreach看起来也很可疑,您可能希望在第一次迭代中打破它。除此之外,请只询问具体问题,而不是假设问题。是的,它可能是错误的,但现在看来,它甚至不起作用。首先让它工作,然后优化它。你想到了什么?
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
    }
}