求教如何合并数组

WBOY
풀어 주다: 2016-06-23 14:15:08
원래의
836명이 탐색했습니다.

//比如下面两个数组$a1=array(2=>array(1,2),3=>array(4));$a2=array(2=>array(5),5=>array(4));/***我想$a1跟$a2合并的结果为 array(2=>array(1,2,5),3=>array(4),5=>array(4));**/
로그인 후 복사

有什么好的方法?


回复讨论(解决方案)

$keys = array_unique(array_keys(array_merge($arr1, $arr2)));foreach($keys as $k) { .....}
로그인 후 복사

如果不考虑更进一步的递归 每次都是两个二维数组合并的话 直接写个循环然后array_merge如何?

楼上正解。。。

$a1 = array(2=>array(1,2),3=>array(4));$a2 = array(2=>array(5),5=>array(4));foreach($a2 as $k=>$v) {  if(isset($a1[$k])) $a1[$k] = array_merge($a1[$k], $v);  else $a1[$k] = $v;}print_r($a1);
로그인 후 복사
Array
(
    [2] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 5
        )

    [3] => Array
        (
            [0] => 4
        )

    [5] => Array
        (
            [0] => 4
        )

)

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿