2015-08-26 224 views
1

我有相同數目的鍵2個多維數組如下合併兩個多維數組具有相同的密鑰對

Array 
(

[2012035] => Array 
    (
     [first_name] => ABC 
     [last_name] => DEF 
    ) 

[2012045] => Array 
    (
     [first_name] => GHI 
     [last_name] => JKL 
    ) 

[2012046] => Array 
    (
     [first_name] => MNO 
     [last_name] => PQR 
    ) 

[2012050] => Array 
    (
     [first_name] => STU 
     [last_name] => VWX 
    ) 
) 

Array 
(

[2012035] => Array 
    (
     [01-07-2015] => 123 
     [02-07-2015] => 456 
    ) 

[2012045] => Array 
    (
     [01-07-2015] => 789 
     [02-07-2015] => 101112 
    ) 

[2012046] => Array 
    (
     [01-07-2015] => 131415 
     [02-07-2015] => 161718 
    ) 

[2012050] => Array 
    (
     [01-07-2015] => 192021 
     [02-07-2015] => 222324 
    ) 
) 

現在我想輸出如下

Array 
(
[2012035] => Array 
    (
     [first_name] => ABC 
     [last_name] => DEF 
     [01-07-2015] => 123 
     [02-07-2015] => 456 
    ) 

[2012045] => Array 
    (
     [first_name] => GHI 
     [last_name] => JKL 
     [01-07-2015] => 789 
     [02-07-2015] => 101112 
    ) 

[2012046] => Array 
    (
     [first_name] => MNO 
     [last_name] => PQR 
     [01-07-2015] => 131415 
     [02-07-2015] => 161718 
    ) 

[2012050] => Array 
    (
     [first_name] => STU 
     [last_name] => VWX 
     [01-07-2015] => 192021 
     [02-07-2015] => 222324 
    ) 
) 

我可以在PHP中使用foreach來完成它。

但是有沒有內置的PHP函數可以使用foreach來完成這項工作?

+0

如果你的陣列有串鍵(而不是整數),我會說'array_merge_recursive'會做的伎倆。 – agmangas

+0

@agmangas沒有循環,我會說沒有'array_merge_recursive'不會執行這個技巧,但是對於一個簡單的for循環,'array_merge_recursive'絕對是一個可能的解決方案。 – QuakeCore

回答

2

我認爲這可以爲你工作:

$arr_1 = array(333 => array('a1' => 1)); 
$arr_2 = array(333 => array('a2' => 2), 444 => array('a3' => 3)); 

$arr_res = array_replace_recursive($arr_1, $arr_2); 
var_dump($arr_res); 
相關問題