首页 > 解决方案 > 有没有一种简短的方法来检查值的独特性而不使用 PHP 中的“if”和多个“and”?

问题描述

我正在编写一些代码,我需要比较一些值。关键是没有一个变量应该与另一个变量具有相同的值。例如:

$x=1
$y=2
$z=3
if ($x != $y and $y != $z and $x != $z) {
#do something 
}

现在,很容易看出,在具有更多变量的代码的情况下,if 语句变得非常长并且充满了与。有没有一种简短的方法可以告诉 PHP 没有 2 个变量值应该相同。

标签: phpduplicates

解决方案


您可以将所有值放在一个数组中,并检查数组的长度是否与数组中唯一值的长度相同:

if (count(array($x, $y, $z)) == count(array_unique(array($x, $y, $z)))) {
    // all values different. do something
}

3v4l.org 上的演示


推荐阅读