代码之家  ›  专栏  ›  技术社区  ›  Elshan

从多维数组(包括string和laravel集合)中删除重复项

  •  0
  • Elshan  · 技术社区  · 6 年前

    这是多维数组,有两列,一列是string,另一列是laravel集合模型。

    array:2 [▼
      0 => array:2 [▼
        "email" => "myfirstemail@gmail.com"
        "user" => User {#2508 ▶}
      ]
      1 => array:2 [▼
        "email" => "myfirstemail@gmail.com"
        "user" => User {#2547 ▶} //laravel collection
      ]
    ]
    

    我用过 php multi-dimensional array remove duplicate 这也不管用。

    我不想通过电子邮件删除重复的列(不需要查看laravel 用户 model.)有内置的php函数吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Jonathon    6 年前

    你可以用Laravel的 Collection::unique 方法:

    $unique = collect($yourArray)->unique('email');
    

    通过进来 email 在这个方法中,你告诉拉勒维尔看看 领域 在数据集中,而不是整个数据。然后,可以将其转换为使用数组的数组。 toArray .

    $unique = collect($yourArray)->unique('email')->toArray();
    

    也可以将闭包传递给 unique 方法,用于定义要为每个对象比较的值以确定唯一性:

    $unique = collect($yourArray)->unique(function ($item) {
        return $item['email'];
    });