PHP-在同一个键上合并两个数组


PHP - Merge two arrays on same key

我想合并同一个键上的两个数组。

这是第一个阵列:

Array
(
[2052] => Array
    (
        [495] => Array
            (
                [0] => Array
                    (
                        [ID_RI_BELANJA] => 79755
                    )
                [1] => Array
                    (
                        [ID_RI_BELANJA] => 79755
                    )
            )
    )
[4566] => Array
    (
        [488] => Array
            (
                [0] => Array
                    (
                        [ID_RI_BELANJA] => 231610
                    )
                [1] => Array
                    (
                        [ID_RI_BELANJA] => 231610
                    )
            )
    )
)

这是第二个阵列

Array
(
[2052] => Array
    (
        [495] => Array
            (
                [TOTAL_RI] => 1000000
                [TOTAL_ANGGARAN] => 500000
            )
    )
[4566] => Array
    (
        [488] => Array
            (
                [TOTAL_RI] => 2000000
                [TOTAL_ANGGARAN] => 1000000
            )
    )
)

我想把这两个数组合并成这样:

Array
(
[2052] => Array
    (
        [495] => Array
            (
                [0] => Array
                    (
                        [ID_RI_BELANJA] => 79755
                    )
                [1] => Array
                    (
                        [ID_RI_BELANJA] => 79755
                    )
                [TOTAL_RI] => 1000000
                [TOTAL_ANGGARAN] => 500000
            )
    )
[4566] => Array
    (
        [488] => Array
            (
                [0] => Array
                    (
                        [ID_RI_BELANJA] => 231610
                    )
                [1] => Array
                    (
                        [ID_RI_BELANJA] => 231610
                    )
                [TOTAL_RI] => 2000000
                [TOTAL_ANGGARAN] => 1000000
            )
    )
)

这是我的第一个项目,我不知道该怎么办。

有人能告诉我怎么做吗?

如果您的数组具有相同的Key,则:

 $array1 = array(); //put your value in this array 
 $array2 = array(); //put your value in this array
 $array3 = array();
 $array3[] = $array1;
 $array3[] = $array2;

假设您的两个数组分别为$array1和$array2,请尝试以下操作:

foreach($array1 as $k1 => $v1) {
    foreach($v1 as $k2 => $v2) {
       foreach($v2 as $k3 => $v3) {
          $new[$k1][$k2][$k3] = $array1[$k1][$k2][$k3];
          $new[$k1][$k2] = array_merge($new[$k1][$k2], $array2[$k1][$k2]);
       }
   }  
}

=>将所有值存储在此变量中

 $Arr1 //put your value in this array 
 $Arr2 //put your value in this array 

=>并合并

$ResponseDetails    = array_merge( (array)$Arr1, (array)$Arr2);

array_replace_recursive应该完成以下工作:

// $arr1 is the 1st array, $arr2 - is your 2nd array
$result = array_replace_recursive($arr1, $arr2);  // now the $result variable contains the expected merged result

http://php.net/manual/en/function.array-replace-recursive.php