php - 根据特定键在对象数组中查找重复项

标签 php arrays duplicates

我的目标是在对象数组中找到重复项,但仅限于特定的对象变量。

我没有像下面这样使用两个 foreach 循环,而是在寻找一种更好(更优雅)的方法来查找重复项:

foreach ($data as $date) {
      foreach ($data as $innerDate) {
          if ($date->birthday == $innerDate->birthday &&
              $date->street == $innerDate->street &&
              $date->streetnr == $innerDate->streetnr &&
              $date->zipcode == $innerDate->zipcode &&
              $date->twinid == $innerDate->twinid &&
              $date !== $innerDate) {
              // Duple
        }
    }
}

谢谢!


现在,我根据 Tarilo 的想法使用以下代码:

usort($data, function($obj_a, $obj_b){
      if ($obj_a->birthday == $obj_b->birthday &&
          $obj_a->street == $obj_b->street &&
          $obj_a->streetnr == $obj_b->streetnr &&
          $obj_a->zipcode == $obj_b->zipcode &&
          $obj_a->twinid == $obj_b->twinid) {
          // Duple
      }
});

看起来比两个 foreach 循环好多了 ;-)

最佳答案

你试过 php 中的 in_array() 函数吗??

有关 in_array() 的更多引用,请使用此 url

http://php.net/manual/fr/function.in-array.php

关于php - 根据特定键在对象数组中查找重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13913229/

相关文章:

mysql - 根据条件删除列中的元组

php - 在 MySQL 中查询时连接表

php - 有序数组转关联数组,奇数为键

php - 如何在 PHP 中创建 websockets 服务器

C++ 是否足以在数组后清理 delete[]?

bash - 使用命令行工具计算排序序列中的重复项

php - 也许是一个关于 html/php/sql 的简单问题

javascript - 按预定义规则对数组进行排序

java - 将 4 个不同的整数转换为设定长度的字节数组

android - 我们可以检查列表中是否存在重复的图像吗?