我在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”或任何其他数字并不重要,我需要知道的是如何以编程方式确定第一个数组是“真”,因为它的所有值都是相同的。第二个数组是“假”,因为它们是不同的。第二个也可以随机设置,包括一堆相同的数字和一个不同的数字。
我真的不在乎什么数字是不同的,只有它们都是一样的。我现在正在研究,但我不确定该用什么来查找。术语。
答案 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)不仅仅是更糟糕的情况)。