在Php中从数组中删除重复的对象

时间:2017-02-23 12:06:46

标签: php arrays

rows": [
{
 "group": {
 "fixed_id": 56,
 "driver_licanse_limit": 3,
 "name": "cbad",
 "age_limit": 25,
 "id": 75
 },
{
 "group": {
 "fixed_id": 56,
 "driver_licanse_limit": 3,
 "name": "cbad",
 "age_limit": 25,
 "id": 75
 },
 ]

api发给我json但是里面有重复的对象。一个例子在上面。 我试图从中删除重复的对象。但我没有成功。

我尝试创建新数组并在其中推送唯一标识。

$page = json_decode($page);
    $pages =(array) $page->rows;
    $cars = [];
    array_push($cars, $pages[0]);
    foreach($cars as $c)
    {
        foreach($pages as $p)
        {
            if(!in_array($p->group->name, (array) $c))
            {
                array_push($cars, $p);
            }
        }
    }

它什么都不做。不会删除重复的内容。因为它比较个人。不与所有$ cars数组比较。

我知道in_array不适用于多维数组。

1 个答案:

答案 0 :(得分:1)

尝试使用array_map函数,或者添加更多细节

$ input = array_map(" unserialize",array_unique(array_map(" serialize",$ input)));