如何检查非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()(