基于多个字段删除多维数组中的重复项

时间:2013-06-17 18:21:20

标签: php multidimensional-array duplicate-removal

这可能有点基本但它正在踢我的屁股。

我有以下代码:

$newArray = array();
foreach (array_reverse($results) as $val) {
    $newArray[$val['last_name']] = $val;
}
$results = array_values($newArray);

此代码根据人员姓氏成功删除多维数组中的重复项。

问题在于可能有约翰史密斯和苏珊史密斯。我显然希望保留这两个条目。

我需要一些帮助,除了['last_name']字段之外,还可以根据其他几条信息删除那些重复项;他们注册的人名['first_name']和事件['event_id']。

非常感谢任何见解。正如我上面所说,我知道这可能是一种基本的,但它一直让我头疼,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

也许您可以根据名字和姓氏或可能更多字段的组合来组织用户。

$newArray = array();

foreach (array_reverse($results) as $val) {
  $newArray[ $val['last_name'] . ', ' . $newArray[$val['first_name'] ] = $val;
}

$results = array_values($newArray);

这样可以过滤掉重复项,同时仍然保留类似的用户。您也可以在某处添加事件ID。这可能会使搜索记录变得更加麻烦。