私はデータを失わないように再帰的にマージしようとしている次の2つの配列を持っています。Array_merge_recursiveは私に繰り返しデータを与え、それを削除する方法を提供します
$a = array(
'group1' => array('names'=>array('g1name1', 'g1name2')),
'group2' => array('names'=>array('g2name1'))
);
$b = array(
'group1' => array('names'=>array('g1name1', 'g1name3'), 'extras'=>array('g1extra1')),
'group3' => array('names'=>array('g3name1'))
);
私は、彼らが$a
か$b
のいずれかに存在しているためgroup2
とgroup3
のために正常に動作されarray_merge_recursive($a, $b);
を使用していますが、それは$ aと$ bの両方でいくつかの重複データを持っているのでgroup1
は私に問題を与えています。これは私が再帰的にマージした後のものです。名前にg1nameが2回、$ aから1回、$ bから1回ずつリストされていることに注目してください。
'group1' =>
array
'names' =>
array
0 => string 'g1name1'
1 => string 'g1name2'
2 => string 'g1name1'
3 => string 'g1name3'
'extras' =>
array
0 => string 'g1extra1'
1 => string 'g1extra2'
'group2' => ....
'group3' => ....
(リピート問題を修正し、完全にグループ2とグループ3を削除しません)私はこのarray_unique(array_merge_recursive($a, $b))
ようarray_unique
をしようとしたが、それは私に奇妙な結果を与えています。
innerstレイヤー内にarray_uniqueが必要です。そのためにはループを使用する必要があります。 –