Tuşları kapalı tabanlı 2 dizilerin sonuçlarını birleştirmek için bir PHP işlevi var mı?

1 Cevap php

Ben şu diziler varsa

arry1 = array(
    101 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data'
    ),
    102 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data'
    ),
    .
    .
    .
);

arry2 = array(
    101 => array(
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    102 => array(
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    .
    .
    .
);

ve ben bunları değiştirmek istiyorum

arry3 = array(
    101 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data',
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    102 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data',
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    .
    .
    .
);

Bunu yapmak için php arrays basit bir işlevi var mı? Eğer değilse, bu programlamak için en etkili yol olacaktır ne inanıyor musunuz?

Thanks for any help,
Metropolis

EDITED
Sorry I updated the arrays to be the way they actually should be....array_merge_recursive gives me the following,

arry3 = array(
    0 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data'
    ),
    1 => array(
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    .
    .
    .
);

Ben sopa 101, ve 102 gerekir ve ben aynı alt seviye dizinin olması verilere ihtiyaç ....

1 Cevap

Ben birinci ikincisi dizisi eklemek istediğinizi varsayalım. Bu yüzden, use this,

array_merge_recursive(array1, array2);

... Ve ne istediğinizi tam olarak yapacağız.

EDIT:
As it seems, that my above solution is not entirely correct, use this:

<?

function array_merge_subarrays(array $array1, array $array2) {
    $resultArray = array();
    // The foreach instead of a plain for is to keep the specific values of the keys
    foreach ($array1 as $key => $subarray) {
        $resultArray[$key] = array_merge($subarray, $array2[$key]);
    }
    return $resultArray;
}

$arr1 = array(
    101 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data'
    ),
    102 => array(
        'title1' => 'data', 
        'title2' => 'data', 
        'title3' => 'data'
    )
);

$arr2 = array(
    101 => array(
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    ),
    102 => array(
        'title4' => 'data', 
        'title5' => 'data', 
        'title6' => 'data'
    )
);

print_r(array_merge_subarrays($arr1, $arr2));

/*

OUTPUTS:

Array ( 
    [101] => Array ( 
        [title1] => data
        [title2] => data
        [title3] => data
        [title4] => data
        [title5] => data
        [title6] => data
    )
    [102] => Array (
        [title1] => data 
        [title2] => data 
        [title3] => data 
        [title4] => data 
        [title5] => data 
        [title6] => data
    )
)

*/

?>