0

我无法从 IF 中的一系列条件中获得所需的结果。

if (($varteam == $_POST['rteam1']) && ($varteam == $_POST['rteam2']) && ($varteam == $_POST['rteam3'])  && ($varteam == $_POST['rteam4']) && ($varteam == $_POST['rteam5'])) 
{true} 
  else
{false}

从变量 $varteam 开始,如果所有比较的值都相同,我想获得 true,否则为 false。

比较的值也可能为空。

使用我发布的代码,如果所有值都相等或不同,它就可以工作,但是如果一个或多个值不同,我会得到 true 而不是 false。

为什么会这样?

4

1 回答 1

1

我猜当你与or0混合时你可能会得到误报。只是为了安全起见,使用而不是类型检查是有效的。这样,!== !== 。nullfalse=====nullfalse0

if (($varteam === $_POST['rteam1']) &&
    ($varteam === $_POST['rteam2']) &&
    ($varteam === $_POST['rteam3']) &&
    ($varteam === $_POST['rteam4']) &&
    ($varteam === $_POST['rteam5'])) 
{
   // true
} 
else
{
   // false
}
于 2013-08-16T15:37:47.077 回答