1

4つの変数が同じかどうかをきちんと確認するにはどうすればよいでしょうか?

明らかにこれはうまくいきません:

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

しかし、大量のコードを書かなければどうなるでしょうか?

4

6 に答える 6

3

1つの方法は次のとおりです。

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

膨大な量のコードではなく、仕事を成し遂げます。

于 2013-04-26T19:30:04.863 に答える
3
if(!array_diff([$var2, $var3, $var4], [$var1])){
     // All equal
}
于 2013-04-26T19:30:33.067 に答える
2
if ($var1 === $var2 && $var3 === $var4 && $var1 === $var3)

2 と 4 が等しいかどうかを確認する必要はありません

于 2013-04-26T19:32:36.917 に答える
1

を使用array_uniqueすると、変数リストからの一意の値の配列が 1 であるかどうかを確認できます (つまり、それらはすべて等しいことを意味します)。

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

これは、ステートメント==内のチェックの長いリストと比較して、変数の長いリストを比較する場合に特に便利です。if

于 2013-04-26T19:36:15.520 に答える
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.
于 2013-04-26T22:40:54.970 に答える
0

使えます!マスターとして && を使用

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

しかし、これは4つのうちどれが他のものと似ていないかを教えてくれません.

于 2013-04-26T19:31:49.187 に答える