如何有人巧妙地检查4个变量是否相同?
显然这不起作用:
if ($var1 === $var2 === $var3 === $var4)
但是,如果不编写大量代码,会怎么样?
答案 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.