2017-11-14 4 views
-3

I는 다음과 같이 2 개 PHP 배열을 가지고 ..PHP 병합 및 순서 다차원 배열

$array1 
-------- 
Array 
(
    [0] => Array 
     (
      [0] => 64 
      [1] => Apple 
     ) 

    [1] => Array 
     (
      [0] => 22 
      [1] => Pear 
     ) 

    [2] => Array 
     (
      [0] => 3 
      [1] => Raisin 
     ) 

    [3] => Array 
     (
      [0] => 15 
      [1] => Grape 
     ) 

    [4] => Array 
     (
      [0] => 11 
      [1] => Banana 
     ) 

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

$array2 
-------- 
Array 
(

    [0] => Array 
     (
      [0] => 22 
      [1] => Pear 
     ) 


    [1] => Array 
     (
      [0] => 11 
      [1] => Banana 
     ) 

) 

내가 함께 배열을 병합하지만 결과가 보일 것이다 있도록 상단에 $ 배열 2에서 일치하는 항목을 넣을 이 같은 ...

$array3 
------- 
Array 
(

    [0] => Array 
     (
      [0] => 22 
      [1] => Pear 
     ) 

    [1] => Array 
     (
      [0] => 11 
      [1] => Banana 
     ) 

    [2] => Array 
     (
      [0] => 64 
      [1] => Apple 
     ) 


    [3] => Array 
     (
      [0] => 3 
      [1] => Raisin 
     ) 

    [4] => Array 
     (
      [0] => 15 
      [1] => Grape 
     ) 


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

내가 병합해야 접근하는 방법을 잘 모르겠어요 두 먼저 다음 시도하고 어떤 주문을하거나 더 효율적인 방법은 무엇입니까?

+3

당신의 배열은 모두 무효의 휴식을 가져 오기 (0). – bassxzero

+3

잘못된 예를 추가 한 것처럼 보입니다. 모든 '0'에 대해 동일한 인덱스가 될 수는 없음 – Suraj

+0

* 결과 배열 *을 만들고 첫 번째 배열 앞에 두 번째 배열을 삽입하십시오. 또한 키가 잘못되었습니다 (모든 인덱스는 '0'입니다) – AymDev

답변

5

는 모두 동일한 인덱스가, 2 차 배열 한 후 첫번째 배열

array_merge($arr2, array_udiff($arr1, $arr2, function($i1, $i2) {return $i1[0]-$i2[0];})); 
+0

업데이트했습니다. 문자열 변환 오류가 발생했습니다. 다차원 배열이기 때문에 이것이라고 생각하십니까? – fightstarr20

+1

제 잘못입니다. 지금보십시오 – splash58

+0

굉장! 당신의 도움을 주셔서 감사합니다. 모두 의미가 있습니다 – fightstarr20