0

我想将 10 个值相互比较,当它们不相等时,他会做一些事情......

if ($a!=$b!=$c!=$d!=$e!=$f!=$g!=$h!=$i!=$j)
{ 
 // do some stuff
}

它不起作用......所以我想,我可能无法将多个值相互比较......所以我尝试了:

if ($a!=$b&&$a!=$c&&$a!=$d&&$a!=$e&&$a!=$f&&$a!=$g&&$a!=$h&&$a!=$i&&$a!=$j&&
    $b!=$c&&$b!=$d&&$b!=$e&&$b!=$f&&$b!=$g&&$b!=$h&&$b!=$i&&$b!=$j&&
    $c!=$d&&$c!=$e&&$c!=$f&&$c!=$g&&$c!=$h&&$c!=$i&&$c!=$j&&
    $d!=$e&&$d!=$f&&$d!=$g&&$d!=$h&&$d!=$i&&$d!=$j&&
    $e!=$f&&$e!=$g&&$e!=$h&&$e!=$i&&$e!=$j&&
    $f!=$g&&$f!=$h&&$f!=$i&&$f!=$j&&
    $g!=$h&&$g!=$i&&$g!=$j&&
    $h!=$i&&$h!=$j&&
    $i!=$j) 
{
 // do some stuff
}

但他还是什么都没做……我100%肯定情况是他们都不相等^^

4

2 回答 2

2

发现数组:

php 5.4+

if([$a, $b, $c, $e, $f, $g, $h, $i, $j] === array_unique([$a, $b, $c, $e, $f, $g, $h, $i, $j]))
{
   //do stuff
}

php < 5.4

if(array($a, $b, $c, $e, $f, $g, $h, $i, $j) === array_unique(array($a, $b, $c, $e, $f, $g, $h, $i, $j)))
{
   //do stuff
}
于 2013-08-27T09:48:15.717 回答
2

将您的值放入数组中,然后使用此条件:

if (count(array_unique($arr)) != 1) {
    // at least one value is different
}

如果所有值都必须不同,则可以使用:

if (count(array_unique($arr)) === count($arr)) {
    // all values are different
}
于 2013-08-27T09:52:31.693 回答