2017-02-18 41 views
1

我想合併具有不同鍵的5個關聯數組。這是使用數組後的結果合併5個陣列如何將關聯數組與不同的鍵組合?

array_merge($bucketExlData1, $bucketExlData2, $bucketExlData3, $bucketExlData4, $bucketExlData5) 

結果

array:5 [▼ 
    0 => array:1 [▼ 
    "Name" => "John Test" 
    ] 
    1 => array:1 [▼ 
    "Archived-On" => "2016-05-02 18:20:26" 
    ] 
    2 => array:8 [▼ 
    "Phone" => "2132918968" 
    "DOB" => "1800-01-01 00:00:00" 
    "Referred-By-Practice" => "-" 
    "Referred-By-Provider" => "-" 
    "Last-Scheduled-To-Practice" => "-" 
    "Last-Scheduled-To-Provider" => "-" 
    "Last-Scheduled-To-Location" => "-" 
    "Last-Scheduled-Date-of-Service" => "-" 
    ] 
    3 => array:1 [▼ 
    "Archived-Reason" => "no-need-to-schedule" 
    ] 
    4 => array:1 [▼ 
    "Notes" => "done" 
    ] 
] 

我要讓這個數組一樣

array:5 [▼ 
    "Name" => "John Test" 
    "Archived-On" => "2016-05-02 18:20:26" 
    "Phone" => "2132918968" 
    "DOB" => "1800-01-01 00:00:00" 
    "Referred-By-Practice" => "-" 
    "Referred-By-Provider" => "-" 
    "Last-Scheduled-To-Practice" => "-" 
    "Last-Scheduled-To-Provider" => "-" 
    "Last-Scheduled-To-Location" => "-" 
    "Last-Scheduled-Date-of-Service" => "-" 
    "Archived-Reason" => "no-need-to-schedule" 
    "Notes" => "done" 
] 
+0

沒有看到您的原始陣列,很難確切知道。但似乎你正在合併的數組是多維數組,這就是爲什麼它不能按預期工作。 – Augwa

回答

2

我會假設你的數組是這樣

$arrayName = array(
    '0' => array("Name" => "John Test"), 
    '1' => array("Archived-On" => "2016-05-02 18:20:26"), 
    '2' => array(
      "Phone" => "2132918968", 
     "DOB" => "1800-01-01 00:00:00", 
     "Referred-By-Practice" => "-", 
     "Referred-By-Provider" => "-", 
     "Last-Scheduled-To-Practice" => "-", 
     "Last-Scheduled-To-Provider" => "-", 
     "Last-Scheduled-To-Location" => "-", 
     "Last-Scheduled-Date-of-Service" => "-" 
     ) 
    ); 

然後嘗試array_reduce

$result = array_reduce($arrayName, 'array_merge', array()); 

輸出

Array ( 
    [Name] => John Test 
    [Archived-On] => 2016-05-02 18:20:26 
    [Phone] => 2132918968 
    [DOB] => 1800-01-01 00:00:00 
    [Referred-By-Practice] => - 
    [Referred-By-Provider] => - 
    [Last-Scheduled-To-Practice] => - 
    [Last-Scheduled-To-Provider] => - 
    [Last-Scheduled-To-Location] => - 
    [Last-Scheduled-Date-of-Service] => - 
) 
+0

它工作。謝謝@Abdulla –

1

與再試一次

array_merge_recursive($bucketExlData1, [ 
    $bucketExlData2, 
    $bucketExlData3, 
    $bucketExlData4, 
    $bucketExlData5 
]); 

或者

array_merge_recursive(
    $bucketExlData1, 
    $bucketExlData2, 
    $bucketExlData3, 
    $bucketExlData4, 
    $bucketExlData5 
); 

功能這裏定義:array_merge_recursive