2013-05-08 2 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_top [$ 키] = $ 값; }이 두 배열을 병합합니다 생각합니다. Didnt는 코드를 테스트하지 않았다. 하지만 시작부터 두 배열을 모두 가져야합니다. 이게 당신의 진짜 질문인지 알지 못합니다. – joao

+1

대체 정보가있는 경우이 정보를 병합하려고 할 때 두 번째 배열에 정보가 들어있는 경우에만 두 번째 배열의 데이터를 병합 하시겠습니까? 나는 당신의 상태가 여기에 있는지에 대해 완전히 명확하지 않습니다. 또한 두 번째 배열의 필드 중 하나를 제외한 모든 필드는 첫 번째 배열의 필드와 중복됩니다. 원래 배열의 데이터를 대체 하시겠습니까? 그것은 병합과는 다른 것입니다. – 2to1mux

+0

예, 두 번째 배열에 정보가 들어있는 경우에만 두 번째 배열의 데이터를 병합하십시오. 원래 배열의 데이터 바꾸기. –

답변

5

($의 array_o에 $ array_m 병합)은 다음과 같이 두 개의 배열을 병합하는 일반적인 공식은 다음과 같습니다

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

$array_o 지금 $array_m

편집의 모든 요소를 ​​포함하는 것 : 나는 단지에서 발견 귀하의 게시물에 array_merge 기능을 사용하려는 것 같습니다. 또한 다음을 수행 할 수 : ($로 키 => $ 값을 $의 array_bot)

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

예, array_merge 함수는 제가 작업을 완료하게 될 것이라고 생각했습니다. 난 $ array_o 및 array_m 내 루프에 번역하는 방법을 잘 모르겠습니다. –

+1

$ array_o는 $ data입니다. $ array_m은 ($ dfcode) addr입니다. – 2to1mux

+0

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

관련 문제