我想知道是否有办法检查是否有大量变量是否相等。 如果我只有一些变量,我可以这样做:
if ($a == $b || $a == $c || $b == $c)
但是,如果我有20个变量,则需要一些时间来编写所有组合。还有另一种方法吗?
答案 0 :(得分:13)
if (count(array_unique(array($a, $b, $c), SORT_REGULAR)) === 1) {
// all equal
}
所有这些代码都将变量放在数组中并消除重复。如果它们都相等,则array_unique()
的结果应该是具有一个值的数组。
如果你想确保所有这些都不同,那就差别不大了。只需检查过滤后的数组是否与原始数组的大小相同:
$array = array($a, $b, $c);
if (count(array_unique($array, SORT_REGULAR)) === count($array)) {
// all not equal
}