php去掉数组对象中的重复对象
时间: 2024-03-02 19:48:28 浏览: 141
你可以使用PHP中的array_unique()函数来去除数组中的重复值,但是由于对象不能直接比较,所以需要额外的处理。一种方法是将对象转换为数组,然后使用array_map()函数和serialize()函数来进行比较。
示例代码如下:
```php
function unique_objects($array) {
$serialized = array_map('serialize', $array);
$unique = array_unique($serialized);
return array_intersect_key($array, $unique);
}
$objects = array(
(object)array('name' => 'John', 'age' => 30),
(object)array('name' => 'Jane', 'age' => 25),
(object)array('name' => 'John', 'age' => 30)
);
$unique_objects = unique_objects($objects);
print_r($unique_objects);
```
输出结果为:
```
Array
(
[0] => stdClass Object
(
[name] => John
[age] => 30
)
[1] => stdClass Object
(
[name] => Jane
[age] => 25
)
)
```
该函数返回的是一个新的数组,其中没有重复的对象。
阅读全文