I have 4 arrays which I need to combine by key '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. 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;
}
}