0

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 で ID を検索しhttp://api.linke1.com/names、他のリンクから写真の URL を検索します。配列のリストを出力したかったので、最終的には、名前、写真などの情報を表示するデータのリストを出力します...

入力フィールドに入力された各文字がこの foreach ループを通過するため、これは劇的に遅くなりますか? もっと簡単な方法はありますか?

ありがとう!

4

1 に答える 1

1

ループの前にカールと変わらないものを初期化し、後で閉じます。

それは物事を少しスピードアップします。

複数の URL を並行して取得できる curl_multi_* を使用できます。

http://se2.php.net/manual/en/ref.curl.php

于 2013-01-20T08:06:02.807 に答える