如果($ variable ==“this”||“that”){?

时间:2014-12-08 10:58:56

标签: php

我试图找出如何撰写我的if声明。 什么是正确的方式?

此代码将变为正确的发送内容。即使用户有组"存储",他也会获得通过。 为什么呢?

PHP

if($_SESSION['user']['usr_group'] == "admin" || "office"){

4 个答案:

答案 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"))