在PHP中将多个值相互比较

时间:2013-08-27 09:45:59

标签: php if-statement compare

我想比较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%确定案件发生了他们都不相等^^

2 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:2)

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

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

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

if (count(array_unique($arr)) === count($arr)) {
    // all values are different
}