确定数组是否包含重复元素是经常遇到的需求。虽然 PHP 提供了各种用于数组操作的函数,但如何有效地检查重复项可能并不明显。
一种简单但效率低下的方法是将原始数组与它的唯一对应项,使用 array_unique() 函数生成。但是,此方法会产生创建新数组的计算开销。
可以使用 array_count_values() 来计算数组中每个元素的出现次数。通过将结果计数与数组的长度进行比较,可以检测到重复项:
<code class="php">function array_has_dupes($array) { return count(array_count_values($array)) !== count($array); }</code>
如果本机函数不太符合您的要求,请考虑遍历数组并检查哈希或集合中的重复项。
在预期条件是没有重复项的数组的情况下,性能将由遍历数组所需的时间决定数组一次。但是,如果重复很常见,则 array_count_values() 方法会变得更加高效,因为它能够快速计算出现次数。
以上是如何有效检测 PHP 数组中的重复项?的详细内容。更多信息请关注PHP中文网其他相关文章!