如何检查非assoc数组在PHP中是否唯一?

如何检查非assoc数组在PHP中是否唯一?,php,arrays,Php,Arrays,我想知道数组$arr是否有重复的元素。签出。array\u unique()应该可以工作: if (count(array_unique($arr)) == count($arr)) echo "Array does not contain duplicate elements"; else echo "Array contains duplicate elements"; 我不确定是否有一个内置的功能。但你可以做到 if (count($arr) == count(array_u

我想知道数组
$arr
是否有重复的元素。

签出。

array\u unique()
应该可以工作:

if (count(array_unique($arr)) == count($arr)) 
  echo "Array does not contain duplicate elements"; 
else
  echo "Array contains duplicate elements";

我不确定是否有一个内置的功能。但你可以做到

if (count($arr) == count(array_unique($arr))
{
    //array has no unique elements
}

数组不能有重复的键。:)re:deceze:这也是为什么
array\u flip(array\u flip($arr))
array\u unique($arr)
具有相同的结果(也更快)。@pinkgothic技巧不错,但为了可读性,我还是选择
array\u unique
。)@德克塞:同意。由于数组键类型受到限制,因此
array\u flip()
版本也不总是有效!但是,如果您只是处理数组中的
int
string
值,那么它是一个选项。这很好,因为如果你有非常大的数组(比如>100个元素),
array\u unique()(