PHP 多条件比较
PHP Comparisons with multiple conditions
这样写对吗?
if($site!=1 || $site!=4)
如果站点 ID 不是 1 或 4,我想执行代码。
OR 可以有两个否定吗?因为不行。
谢谢!
当你使用||
时,如果其中任何一个满足它就会被执行。当您不希望两者都满足时,您需要使用 &&
。应该是 -
if($site!=1 && $site!=4)
它将检查两个条件,即 $site
不等于 1
或 4
。
或者您可以使用 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]))
这样写对吗?
if($site!=1 || $site!=4)
如果站点 ID 不是 1 或 4,我想执行代码。 OR 可以有两个否定吗?因为不行。
谢谢!
当你使用||
时,如果其中任何一个满足它就会被执行。当您不希望两者都满足时,您需要使用 &&
。应该是 -
if($site!=1 && $site!=4)
它将检查两个条件,即 $site
不等于 1
或 4
。
或者您可以使用 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]))