PHP 多条件比较

PHP Comparisons with multiple conditions

这样写对吗?

 if($site!=1 || $site!=4)

如果站点 ID 不是 1 或 4,我想执行代码。 OR 可以有两个否定吗?因为不行。

谢谢!

当你使用||时,如果其中任何一个满足它就会被执行。当您不希望两者都满足时,您需要使用 &&。应该是 -

if($site!=1 && $site!=4)

它将检查两个条件,即 $site 不等于 14

或者您可以使用 in_array -

if(!in_array($site, array(1, 4)))

目前它将首先检查 $site 是否为 1,如果不是,它将进入条件并忽略其余条件。所以对于4它不会被检查。

虽然您已经有了正确答案,但您也可以使用

if (!in_array($site,array(1,4)))

如果要检查的数字很多,这会简化它。这在 PHP 5.4+

中更简单
if (!in_array($site,[1,4]))