2017-11-14 8 views
-3

私はこのように見える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 
     ) 
) 

私は私がマージする必要があり、アプローチするかどうかはわかりません2最初にして試してみて、いくつかの順序付けを行う、またはより効率的なアプローチがありますか?

+3

の残りの部分を取得します。 – bassxzero

+3

間違った例を追加したようです。すべての '0 'に同じインデックスにすることはできません – Suraj

+0

*結果配列*を作成し、第2の配列を第1の配列の前に挿入します。また、あなたのキーは間違っています(すべてのインデックスは '0'です) – AymDev

答えて

5

はあなたの配列の全てが無効である、それらはすべて同じインデックス(0)を持つ第二配列し、その後第一配列

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

を更新しました配列を文字列変換エラーにしていますが、これは多次元配列であると思いますか? – fightstarr20

+1

私の悪い。今見てください – splash58

+0

恐ろしい!ご協力いただきありがとうございます。すべて今、意味があります – fightstarr20

関連する問題