简体   繁体   English

用相同的键合并数组

[英]Combine arrays with same key

I have 4 arrays which I need to combine by key '0': 我有4个数组,需要通过键'0'进行组合:

Array
    (
    [0] => 1
    [1] => Array
     (
        [0] => A
        [1] => B
        [2] => C
    )

)

Array
    (
    [0] => 2
    [1] => Array
     (
        [0] => D
        [1] => E
        [2] => F
    )

)


Array
    (
    [0] => 1
    [1] => Array
     (
        [0] => G
        [1] => H
        [2] => I
    )

)


Array
    (
    [0] => 2
    [1] => Array
     (
        [0] => J
        [1] => K
        [2] => L
    )

)

What I need to get is combined array that should look like this: 我需要得到的是看起来像这样的组合数组:

Array
    (
    [0] => 1
    [1] => Array
     (
        [0] => A
        [1] => B
        [2] => C
        [3] => G
        [4] => H
        [5] => I
    )

)

Array
    (
    [0] => 2
    [1] => Array
     (
        [0] => D
        [1] => E
        [2] => F
        [3] => J
        [4] => K
        [5] => L
    )

)

I've tried with array_merge_recursive but no success. 我试过array_merge_recursive但没有成功。 Also searched here, sorry if duplicated Thanks in advance for help! 在此处也进行搜索,如果重复,对不起,谢谢!

Try this : 尝试这个 :

$init = array(
    array(1, array('A', 'B', 'C')),
    array(2, array('D', 'E', 'F')),
    array(1, array('G', 'H', 'I'))
);

$results = array();

foreach ( $init as $array ){
    $found = false;
    foreach ( $results as &$result ){
        if ( $array[0] === $result[0] ){
            $result[1] = array_merge($result[1], $array[1]);
            $found = true;
        }
    }
    if ( !$found ){
        $results[] = $array;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM