2016-12-16 10 views
0

メインクエリのSQL ServerデータベースとPostgreSQLデータベースのクエリからPHPを使用してWebレポートを作成しようとしています。異なるデータベースからの2つのクエリの結果を結合/マージする

結果をマージするにはどうすればよいですか?現在、配列として結果を出力しています。

そうのよう二つの配列が作られています。

 
Array1 
(
    [0] => Array 
     (
      [site_name] => TESTSITE 
      [status] => 1 
     ) 
) 
 
Array2 
(
    [0] => Array 
     (
      [site_name] => TESTSITE 
      [booking_id] => 2156 
      [jobresults_key] => 1239 
      [result] => 4 
     ) 
) 

共通項目は両方のアレイで[site_name]であり、私が一致[site_name]のための何もない場合は配列1から[status]を表示したいですarray2の場合、配列2に一致する[site_name]がある場合、[result]と表示されます。

+0

配列は常に同じ長さですか?または、両方の間ですべてのアイテムをチェックする必要がありますか? – Parfait

+0

array1は常にarray2より大きくなります。 – kasonne

答えて

0

配列が短く、array1が常に大きい場合、これは正常に動作するはずです。

$array1 = array(
    array(
     'site_name' => 'TESTSITE', 
     'status' => 1 
    ), 
    array(
     'site_name' => 'TESTSITE-2', 
     'status' => 1 
    ) 
); 
$array2 = array(
    array(
     'site_name' => 'TESTSITE', 
     'booking_id' => 2156, 
     'jobresults_key' => 1239, 
     'result' => 4 
    ) 
); 
foreach($array1 as &$item1){ 
    foreach($array2 as $item2){ 
     if($item1['site_name'] === $item2['site_name']){ 
      $item1 = array_replace($item1, $item2); 
     } 
    } 
} 
print_r($array1); 
+0

ありがとうございました。 – kasonne

関連する問題