检查变量是否与多个值不同

时间:2010-08-21 01:48:55

标签: php variables if-statement

如果我想在php中采取行动,如果变量不是0,1或2,我该怎么做?我的if语句不起作用。谢谢!

3 个答案:

答案 0 :(得分:7)

if (($var != 0) && ($var != 1) && ($var != 2)) {
    //...
}

...或

if (!in_array($var, array(0, 1, 2))) { /* ... */ }

请参阅logical operators

答案 1 :(得分:5)

最直接的方式:

if ($x != 0 && $x != 1 && $x != 2)
{
    // take action!
}

如果您知道您的变量是int,那么您也可以这样做:

if ($x < 0 || $x > 2)
{
    // take action!
}

答案 2 :(得分:0)

使用&&运算符链接测试,并使用检查类型值的!==测试不相等:

if( $n !== 0 && $n !== 1 && $n !== 2 ) {
     // it's not any of those values.
}

==运算符将强制赋值,因此以下所有条件均为真:

  • 0 =='foo'
  • 99 =='99balloons'
  • true == 1
  • false ==''

等等。有关=====的详情,请参阅comparison operators。还要检查“与各种类型的比较”表,以便在比较非数字时更好地了解类型的强制类型。只有您可以确定if( $n < 0 || $n > 2 )是否符合您的需求。 (嗯,我们可以提供帮助,但我们需要更多细节。)

有关&&||的更多信息,请参阅logical operators