77

2つの配列を1つの配列にマージする必要がありますが、必要なのは、両方に共通するメインデータ(つまり、重複した値)の前に削除することです。マージするときは、一意の値のみが必要です。

どうやってやるの?

これは配列の例です:

最初の配列

array(3) { 
    [0]=> object(stdClass)#17 (1) { 
        ["email"]=> string(7) "gffggfg" 
    } 
    [1]=> object(stdClass)#18 (1) { 
        ["email"]=> string(6) "wefwef@test.it" 
    } 
    [2]=> object(stdClass)#19 (1) { 
        ["email"]=> string(6) "wefewf" 
    } 
} 

2番目の配列

array(3) { 
    [0]=> object(stdClass)#17 (1) { 
        ["email"]=> string(7) "gffggfg@test.it" 
    } 
    [1]=> object(stdClass)#18 (1) { 
        ["email"]=> string(6) "wefwef" 
    } 
    [2]=> object(stdClass)#19 (1) { 
        ["email"]=> string(6) "wefewf" 
    } 
} 
4

5 に答える 5

198

array_merge()関数と関数を組み合わせることができarray_unique()ます (どちらのタイトルも一目瞭然です)。

$array = array_unique (array_merge ($array1, $array2));
于 2012-05-13T14:36:21.847 に答える
13

質問を正しく理解している場合:

 $a1 = Array(1,2,3,4);
 $a2 = Array(4,5,6,7);
 $array =  array_diff(array_merge($a1,$a2),array_intersect($a1,$a2));
 print_r($array);

戻る

Array
(
[0] => 1
[1] => 2
[2] => 3
[5] => 5
[6] => 6
[7] => 7
)
于 2012-05-13T14:41:26.270 に答える