我试图找出如何撰写我的if
声明。
什么是正确的方式?
此代码将变为正确的发送内容。即使用户有组"存储",他也会获得通过。 为什么呢?
PHP
if($_SESSION['user']['usr_group'] == "admin" || "office"){
答案 0 :(得分:3)
if($_SESSION['user']['usr_group'] == "admin" || "office") { foo() }
与:
相同if($_SESSION['user']['usr_group'] == "admin") { foo() }
if("office") { foo() }
不
if($_SESSION['user']['usr_group'] == "admin") { foo() }
if($_SESSION['user']['usr_group'] == "office") { foo() }
if("office")
永远都是真的。
每次都需要明确比较。
if($_SESSION['user']['usr_group'] == "admin" || $_SESSION['user']['usr_group'] == "office") { foo() }
或use in_array
代替。
if (in_array($_SESSION['user']['usr_group'], array("admin", "office")) { foo() }
答案 1 :(得分:0)
我觉得它会是
if($_SESSION['user']['usr_group'] == "admin" || $_SESSION['user']['usr_group'] == "office"){
......
}
答案 2 :(得分:0)
在您的陈述中,您添加了逻辑OR条件。
这意味着,如果任何条件为真,那么它将返回TRUE。
即使您的变量$_SESSION['user']['usr_group'] == "admin"
可能为false,
第二个条件"office"
将始终返回true,因此,if条件始终为真。
答案 3 :(得分:0)
if($_SESSION['user']['usr_group'] == "admin" || $_SESSION['user']['usr_group'] == "store")
或
if(in_array($_SESSION['user']['usr_group'], Array("admin", "store"))