2013-05-08 39 views
1

我需要的替代信息的新陣列合併到循環,如果他們有他們的個人資料的其他信息。使用數組合併成一個foreach循環

這裏是我的循環:

foreach ($doctor->getVars() as $k => $v) 
    { 
    $data['doctor_'. $k] = $v; 
    } 

foreach ($patient->get_data() as $k=>$v) 
    { 
    if (is_string($v) || is_numeric($v)) 
     $data["patient_" . $k] = strtoupper($v); 
    } 

這裏的$數據的var_dump:

Array 
(
    [employee] => person 
    [date] => 05/08/2013 
    [datetime] => 05/08/2013 9:41:15 AM 
    [department] => stuff 
    [employee_ext] => 7457 
    [employee_email] => 
    [barcode] => *NZS01* 
    [doctor_df_code] => 09HQ 
    [doctor_npi] => 1111111111 
    [doctor_dea] => B4574 
    [doctor_upin] => 
    [doctor_license] => 
    [doctor_phone] => (111)111-1111 
    [doctor_fax] => (000)000-0000 
    [doctor_fname] => UNDEFINED 
    [doctor_lname] => UNDEFINED 
    [doctor_title] => 
    [doctor_intake_rx_caller_id] => 
    [doctor_costco_rx_caller_id] => 
    [doctor_reorder_rx_caller_id] => 
    [doctor_address1] => 24 CABELL st 
    [doctor_address2] => SUITE 10 
    [doctor_city] => places 
    [doctor_state] => CA 
    [doctor_zip] => 91111 
    [doctor_active_events] => 
    [doctor_dont_call] => 0 
    [doctor_dont_fax] => 1 
) 

我需要在以下陣列合併到上述陣列。 下面是函數地址打印VAR($ dfcode):

Array 
(
    [0] => Array 
     (
      [CODE_] => 09HQ 
      [doctor_address1] => alternate addy 
      [doctor_address2] => 45854 
      [doctor_city] => different city 
      [doctor_state] => CA 
      [doctor_zip] => 963545 
      [doctor_phone] => (619)111-2548 
      [doctor_fax] => (157)123-4569 
     ) 

) 

我新的數組的合併,我的$data['doctor_'. $k] = $v後假設正確,我可以列出新的功能和領域,我想合併特別?

語法是什麼我不知道的:

$data['doctor_'. $k] . array_merge(addr($dfcode))['doctor_address1'] = $v; 

任何幫助將不勝感激,謝謝。

+0

的foreach($ array_bot爲$鍵=> $值){$ array_top [$關鍵] = $價值; }這將合併我認爲的2個數組。沒有測試代碼。但是你需要從頭開始有兩個數組。不知道這是否是你真正的問題 – joao 2013-05-08 17:56:26

+1

當你說你要合併這些信息,如果他們有備用的信息,你的意思是你想從僅在第二個數組包含的信息的第二陣列中的數據合併?我不完全清楚你的情況在這裏。此外,第二個數組中的所有字段都是第一個數組中字段的重複。你正在替換原始數組中的數據嗎?這與合併不同。 – 2to1mux 2013-05-08 17:57:52

+0

是的,只有當第二個數組包含信息時,才合併來自第二個數組的數據。替換原始數組中的數據。 – 2013-05-08 18:01:53

回答

5

用於合併兩個數組的一般公式如下(合併$ array_m到$ array_o):

foreach($array_m as $key=>$value){ 
    $array_o[$key] = $value; 
} 

$array_o現在將包含所有$array_m

編輯的內容:我剛剛注意到你的帖子,你似乎想使用array_merge函數。你也可以做到以下幾點:

$array_o = array_merge($array_o, array_m); 
+0

是的,array_merge函數就是我所想的將完成工作。我不知道如何將$ array_o和array_m轉換成我的循環。 – 2013-05-08 18:14:20

+1

$ array_o是$數據。 $ array_m是addr($ dfcode)。 – 2to1mux 2013-05-08 18:15:54

+0

$數據= array_merge($數據[ 'doctor_'。$ k],addr($ dfcode))= $ v; – 2013-05-08 18:26:54