一尘不染

php:检查数组是否重复

php

我确信这是一个非常明显的问题,并且确实有一个函数可以执行此操作,但是我似乎找不到它。在PHP中,我想尽可能有效地知道数组中是否有重复项。我不想像删除它们一样array_unique,并且我也不希望运行array_unique并将其与原始数组进行比较以查看它们是否相同,因为这似乎效率很低。就性能而言,“预期条件”是该阵列没有重复项。

我只想做类似的事情

if (no_dupes($array))
    // this deals with arrays without duplicates
else
    // this deals with arrays with duplicates

我有没有想到的明显功能?
具有正确的标题,并且是一个非常相似的问题,但是,如果您实际阅读了该问题,则他正在寻找array_count_values。


阅读 279

收藏
2020-05-29

共1个答案

一尘不染

你可以做:

function has_dupes($array) {
    $dupe_array = array();
    foreach ($array as $val) {
        if (++$dupe_array[$val] > 1) {
            return true;
        }
    }
    return false;
}
2020-05-29