如何在数组中找到唯一性(php)

时间:2013-03-20 12:55:29

标签: php arrays sorting

我在php中有两种可能的数组配置,如下所示:

$array = array(
    "0" => "137",
    "1" => "137",
    "2" => "137",
    "3" => "137",
    "4" => "137"
);

$array = array(
    "0" => "137",
    "1" => "200",
    "2" => "31",
    "3" => "19",
    "4" => "400"
);

我不是要将数组相互比较。

具体数字是“137”或任何其他数字并不重要,我需要知道的是如何以编程方式确定第一个数组是“真”,因为它的所有值都是相同的。第二个数组是“假”,因为它们是不同的。第二个也可以随机设置,包括一堆相同的数字和一个不同的数字。

我真的不在乎什么数字是不同的,只有它们都是一样的。我现在正在研究,但我不确定该用什么来查找。术语。

2 个答案:

答案 0 :(得分:8)

if (count(array_unique($array)) > 1) {
    // not all elements are the same
}

答案 1 :(得分:1)

您可以使用array_unique函数php array_unique

如果结果数组的计数为1,则所有值都相同。

或者最好只是遍历数组直到找到一个不同的值,这样的情况更糟糕o(n)

编辑:请注意count(array_unique($ array))更干净但效率更低,但仍然是o(n)(总的来说o(n)不仅仅是更糟糕的情况)。