Привет, я пытаюсь объединить два массива, также хочу удалить повторяющиеся значения из окончательного массива.
Вот мои массивы 1:
Array ( [0] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 )
Это мой массив 2:
Array ( [0] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 )
Я использую array_merge
для слияния обоих массивов в один массив. он дает результат как это
Array ( [0] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 [1] => stdClass Object ( [ID] => 749 [post_author] => 1 [post_date] => 2012-11-20 06:26:07 [post_date_gmt] => 2012-11-20 06:26:07 )
Я хочу удалить эту дублируемую запись или удалить ее до слияния … Просьба помочь .. Спасибо !!!!!!!
array_unique(array_merge($array1,$array2), SORT_REGULAR);
попробуйте использовать array_unique()
это приводит к дублированию данных внутри списка ваших массивов.
Как уже упоминалось, array_unique () может использоваться, но только при работе с простыми данными. Объекты не так просты в обращении.
Когда php пытается объединить массивы, он пытается сравнить значения элементов массива. Если элемент является объектом, он не может получить его значение и вместо этого использует хеш spl. Подробнее о spl_object_hash читайте здесь.
Просто скажите, есть ли у вас два объекта, экземпляры одного и того же класса, и если один из них не является ссылкой на другой, вы получите два объекта, независимо от их свойств.
Чтобы убедиться, что у вас нет дубликатов в объединенном массиве, Imho, вы должны обработать это дело самостоятельно.
Также, если вы собираетесь объединить многомерные массивы, рассмотрите возможность использования array_merge_recursive () для array_merge () .
Он объединит два массива и удалит дубликат
<?php $first = 'your first array'; $second = 'your second array'; $result = array_merge($first,$second); print_r($result); $result1= array_unique($result); print_r($result1); ?>
Попробуйте эту ссылку link1