PHP如果不等于或不等于

ngp*_*und 1 php if-statement

我试图做一个条件if语句,检查变量$ cat_ID的值是否不等于1926然后它应该回应我的$ priceToShow变量.

PHP

if(($cat_id != '19') || ($cat_id !='26')){ 
    echo $priceToShow;
}
Run Code Online (Sandbox Code Playgroud)

Wal*_*han 12

如果它既不是19也不是26,请使用和声明:

if(($cat_ID != '19') && ($cat_id !='26')){ 
    echo $priceToShow;
}
Run Code Online (Sandbox Code Playgroud)

如果要检查的值很多,请使用in_array:

$bad_values = array(19, 26, 54);
if (!in_array($cat_ID, $bad_values)) {
    echo $priceToShow;
}
Run Code Online (Sandbox Code Playgroud)

(在这种情况下,严格的比较是关闭的;您应该始终将数据转换为预期的类型,然后使用严格的比较:

$bad_values = array(19, 26, 54);
if (!in_array(intval($cat_ID), $bad_values, true)) {
    echo $priceToShow;
}
Run Code Online (Sandbox Code Playgroud)

)


chi*_*him 6

这将永远返回true

您需要使用AND连接

超过2个值使用!in_array()

编辑:绝对正确@Waygood

if ( ! ( $v == 19 || $v == 26 ) ) {
  // do your thing
}
Run Code Online (Sandbox Code Playgroud)

  • demorgans theorum:否定并更改operator = OR to!= AND例如19 OR 26 - >!= 19 AND!= 26 http://www.allaboutcircuits.com/vol_4/chpt_7/8.html (2认同)