PHP 多维数组:根据特定值去重
问题:
给定一个多维数组,如何有效地删除包含特定值的重复值的子数组键?
问题陈述:
考虑以下多维数组:
Array ( [0] => Array ( [0] => dave [1] => jones [2] => [email protected] ) [1] => Array ( [0] => john [1] => jones [2] => [email protected] ) [2] => Array ( [0] => bruce [1] => finkle [2] => [email protected] ) )
任务是删除其中的任何子数组电子邮件地址(索引 2)出现多次。在此示例中,这将导致删除第一个或第三个子数组。
解决方案:
一个简单的解决方案涉及使用数组唯一性来消除重复的电子邮件地址:
$newArr = array(); foreach ($array as $val) { $newArr[$val[2]] = $val; } $array = array_values($newArr);
该解决方案利用了 PHP 中数组键是唯一的这一事实。通过使用电子邮件地址作为数组键,可以确保仅最后一次出现的特定电子邮件地址保留在结果数组中。
通过在最后使用 array_values(),我们将数组索引重置为
注意:
以上是如何根据特定key高效对PHP多维数组进行去重?的详细内容。更多信息请关注PHP中文网其他相关文章!