PHP与多个条件进行比较

时间:2015-06-29 09:00:49

标签: php comparison logic comparison-operators

写这个是对的吗?

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

如果网站ID不是1或4,我想执行代码。 OR有两种否定可能吗?因为它不起作用。

谢谢!

2 个答案:

答案 0 :(得分:6)

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

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

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

或者您可以使用in_array -

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

目前它会首先检查$site1,如果不是,它将进入条件并忽略其余条件。因此,对于4,我们不会检查它。

答案 1 :(得分:4)

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

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

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

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