我无法从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。
为什么会这样?
答案 0 :(得分:1)
我猜你在0
与null
或false
混在一起时可能会误报。为了安全起见,请使用===
代替==
,以便进行类型检查。这样,null
!== false
!== 0
。
if (($varteam === $_POST['rteam1']) &&
($varteam === $_POST['rteam2']) &&
($varteam === $_POST['rteam3']) &&
($varteam === $_POST['rteam4']) &&
($varteam === $_POST['rteam5']))
{
// true
}
else
{
// false
}