Как объединить массивы в php? - PullRequest
0 голосов
/ 10 декабря 2011

У меня есть эти массивы:

$ array1

Array
            (
                [0] => Array
                    (
                        [state] => AE
                        [state_pri] => 0
                    )

                [1] => Array
                    (
                        [state] => AK
                        [state_pri] => 0
                    )

                [2] => Array
                    (
                        [state] => AL
                        [state_pri] => 0
                    )
)

$ array2

Array
            (
                [0] => Array
                    (
                        [0] => Array
                            (
                                [count1] => 0
                            )

                    )

                [1] => Array
                    (
                        [0] => Array
                            (
                                [count1] => 1
                            )

                    )

                [2] => Array
                    (
                        [0] => Array
                            (
                                [count1] => 18
                            )

                    )
)

$ array3

Array
            (
                [0] => Array
                    (
                        [0] => Array
                            (
                                [count] => 0
                            )

                    )

                [1] => Array
                    (
                        [0] => Array
                            (
                                [count] => 1
                            )

                    )

                [2] => Array
                    (
                        [0] => Array
                            (
                                [count] => 18
                            )

                    )
)

... и я хотел бы получить что-то вроде этого:

Array
            (
                [0] => Array
                    (
                        [state] => AE
                        [state_pri] => 0
                        [0] => Array
                            (
                                [count] => 0
                            )
                        [0] => Array
                            (
                                [count1] => 0
                            )
                    )

                [1] => Array
                    (
                        [state] => AK
                        [state_pri] => 0
                        [1] => Array
                            (
                                [count] => 0
                            )
                        [1] => Array
                            (
                                [count1] => 0
                            )
                    )

                [2] => Array
                    (
                        [state] => AL
                        [state_pri] => 0
                        [2] => Array
                            (
                                [count] => 0
                            )
                        [2] => Array
                            (
                                [count1] => 0
                            )
                    )
)

Есть идеи, как это сделать?

Редактировать: Просто добавить немного кода, если я использую array_merge Я получаю:

Array
            (
                [0] => Array
                    (
                        [state] => AE
                        [state_pri] => 0
                    )

                [1] => Array
                    (
                        [state] => AK
                        [state_pri] => 0
                    )

                [2] => Array
                    (
                        [state] => AL
                        [state_pri] => 0
                    )
                [3] => Array
                    (
                        [0] => Array
                            (
                                [count] => 0
                            )

                    )

                [4] => Array
                    (
                        [0] => Array
                            (
                                [count] => 1
                            )

                    )

                [5] => Array
                    (
                        [0] => Array
                            (
                                [count] => 18
                            )

                    )
                 .....
)

Ответы [ 4 ]

1 голос
/ 10 декабря 2011

То, что вы ищете, все еще трудно разобрать.Дайте мне знать, если это достигнет желаемых результатов:

foreach ($array1 as $key => $val) {
  $array1[$key][] = $array3[$key];
  $array1[$key][] = $array2[$key];
}

print_r($array1);
0 голосов
/ 10 декабря 2011
$combined=$array0 + $array1;

Попробуйте это

0 голосов
/ 10 декабря 2011
$merged = array();
foreach (array($array1,$array2,$array3) as $array) {
    foreach ($array as $key=>$value) {
        if (!isset($merged[$key])) {
            $merged[$key] = array();    
        }
        $merged[$key] += $value; 
    }
}
print_r($merged);
0 голосов
/ 10 декабря 2011

А как насчет функции array_merge?

http://www.php.net/manual/en/function.array-merge.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...