Привет, я пытаюсь объединить два массива, также хочу удалить повторяющиеся значения из окончательного массива.
Вот мои массивы 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() можно использовать, но только при работе с простыми данными. Объекты не так просты в обращении.
Когда php пытается объединить массивы, он пытается сравнить значения элементов массива. Если элемент является объектом, он не может получить его значение и вместо этого использует хеш spl. Подробнее о spl_object_hash здесь.
Проще говоря, если у вас есть два объекта, экземпляры одного и того же класса, и если один из них не является ссылкой на другой, вы получите два объекта, независимо от их свойств.
Чтобы убедиться, что у вас нет дубликатов в объединенном массиве, Imho вы должны обработать дело самостоятельно.
Также, если вы собираетесь объединить многомерные массивы, рассмотрите array_merge_recursive() над array_merge().
попробуйте использовать array_unique()
это устраняет дублированные данные внутри списка ваших массивов.
Будет слияние двух массивов и удаление дубликатов
<?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