如何整齐地检查4个变量是否相同?

时间:2013-04-26 19:28:08

标签: php variables if-statement

如何有人巧妙地检查4个变量是否相同?

显然这不起作用:

if ($var1 === $var2 === $var3 === $var4)

但是,如果不编写大量代码,会怎么样?

6 个答案:

答案 0 :(得分:3)

一种方法是:

if ($var1 === $var2 && $var2 === $var3 && $var3 === $var4)

没有大量的代码,它完成了工作。

答案 1 :(得分:3)

if(!array_diff([$var2, $var3, $var4], [$var1])){
     // All equal
}

答案 2 :(得分:2)

if ($var1 === $var2 && $var3 === $var4 && $var1 === $var3)

您无需检查2和4是否相等

答案 3 :(得分:1)

使用array_unique,您可以检查变量列表中的唯一值数组是否为1(这意味着它们全部相等):

if (count(array_unique([$var1, $var2, $var3, $var4])) == 1)
    // all equal

==语句中的if个长检查列表相比,这在比较一长串变量时非常方便。

答案 4 :(得分:0)

你可以用!作为你的主人并使用&&

if($var1===$var2 && $var1 === $var3 && $var1 === $var4)

但是这不会让你知道其中4个和其他4个不一样。

答案 5 :(得分:0)


如果您正在处理许多变量,我使用下面的代码进行操作。


$m = 'var'; //Assuming you know the variable name format $var1, $var2, $var3,...

for( $n = 1; $n <= 3; $n++) { //testing for 4 variables

     $v = "$m$n";
     $n++;
     $w = "$m$n";

     if ( $$v !== $$w ) {
       echo "false";
       break;
     }

     $n--;
}

//Breaks and echo "false" as soon as one of the variables is not equal
//Note: increase the iteration for more variable.