PHP的 – 合并两个数组到一个数组(也删除重复)
嗨我试图合并两个数组也想从最终数组中删除重复值。
这是我的arrays1:
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()
这将删除arrays中的重复数据。
如前所述,可以使用array_unique() ,但只能处理简单的数据。 对象不是很容易处理。
当php试图合并数组时,它会尝试比较数组成员的值。 如果一个成员是一个对象,它不能得到它的值,而是使用spl散列。 在这里阅读关于spl_object_hash的更多信息。
简单地告诉你是否有两个对象,即同一个类的实例,如果其中一个不是对另一个的引用,那么最终会得到两个对象,不pipe它们的属性的值如何。
为了确保你在合并数组中没有任何重复,Imho你应该自己处理。
另外,如果要合并multidimensional array,请考虑在array_merge()上使用array_merge_recursive() 。
它会合并两个数组并删除重复
<?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