2017-01-30 5 views
0

私は現在、顧客フィールドがいくつかのフォームフィールドに帰属されているシステムを改善するように求められており、送信されたシステムがスタッフに属する郊外のデータベース顧客の住所。要求を提出した人がどのスタッフがその顧客に最も迅速にアクセスできるかを知るために、各スタッフの時間/距離の移動距離と距離を返します。現在、システムは各スタッフメンバー1を介してループします。それぞれのパスを通過すると、GoogleマトリックスAPIが照会されます。 45人以上のスタッフが15秒から35秒の間にどこかの場所に戻り、リスト全体を返します。Google Distance Matrix APIの送信配列と処理が一致IDに戻る

URLとしてGoogleマトリックスのAPIに1つのクエリですべてのアドレスを渡して配列を返す方法が見つかりました。今は1秒未満でほとんど瞬間があります。リクエストの送信例が表示されますhere

問題今私は持っています。それらの起源郊外の各1つがスタッフメンバーのユーザーに割り当てられていますか。そのスタッフのユーザーIDまたは固有の識別子をGoogleのapiに送信する方法はなく、各結果を返信してスタッフの郊外と照合する方法もわかりません。

アイデアがありますか?

現在、phlを使用してURLを生成し、配列内のgoogle matrix apiからの応答を得るために、curlリクエストを行っています。

+0

Googleの検索結果の順番は原点の順番と同じようです。一致するキーの単純な問題で、どの結果がどのユーザーを参照しているか把握することができます。 – Scopey

+0

私は真剣にそれが単純ではないことを願って..今あなたはそれが私はそれを考えることができないと私は傾けると言います。病気があり、あなたに知らせてください。ありがとう;) –

+0

あなたは正しかった@Scopey ....比較するためにキーを使って修正するのに約10秒かかりました。私は以下のような回答をしました。 –

答えて

1

これはScopeyの提案に従って、両方の配列でキーを使用して一致させることで修正されました。

function array_merge_custom($array1,$array2) { 
    $mergeArray = []; 
    $array1Keys = array_keys($array1); 
    $array2Keys = array_keys($array2); 
    $keys = array_merge($array1Keys,$array2Keys); 

    foreach($keys as $key) { 
     $mergeArray[$key] = array_merge_recursive(isset($array1[$key])?$array1[$key]:[],isset($array2[$key])?$array2[$key]:[]); 
    } 

    return $mergeArray; 

} 
関連する問題