PHP编写if的可能方法
我想知道是否有任何方法可以缩短代码。我使用了2个PHP编写if的可能方法,php,if-statement,Php,If Statement,我想知道是否有任何方法可以缩短代码。我使用了2个if语句,我希望只使用一个。事情是,$user是会话,如果检查同一行上是否存在$user->userId,则当不存在会话时,代码将出错。从不存在的对象请求用户ID导致。这很合乎逻辑,但现在有什么解决办法吗 if ($user != null) { if ($user->userId == 1) { .. } } 如何使用: 您想使用&&运算符。这意味着 if ($user && $user->userI
if
语句,我希望只使用一个。事情是,$user
是会话,如果检查同一行上是否存在$user->userId
,则当不存在会话时,代码将出错。从不存在的对象请求用户ID
导致。这很合乎逻辑,但现在有什么解决办法吗
if ($user != null) {
if ($user->userId == 1) {
..
}
}
如何使用:
您想使用
&&
运算符。这意味着
if ($user && $user->userId == 1) {
// do some things
}
您可能还想查看|
操作符,它的意思是或
只有当两个谓词返回true时,&&
运算符才会返回true
只要其中一个谓词返回true,
|
运算符将返回true。在这种情况下,只要句子构造正确,您可以添加任意数量的句子:
if (($user != null) && ($user->userId == 1)) {
或者你可以简单地:
if ($user && ($user->userId == 1)) {
如果($user)只是检查变量是否已设置,或者它是否不为null。Waw,那么我在以前尝试这样做时犯了错误。无论如何,非常感谢。@user2103237只是为了澄清,
if($user…
checks)等同于if($user==true…
,所以,很可能这对您来说是好的,但是请注意,0
,false
,,'0'
,等等都不等于true
,但是1
,true
,'false'
,'1'
,等等都等于true
。
if ($user && ($user->userId == 1)) {