如何为这种情况编写更好的代码?

时间:2016-03-17 17:27:19

标签: php

我想避免使用嵌套的if语句

if (! is_null($user)){
    if($user->id == $currentUser->id){
       echo 'its for me';
    }else{
        echo 'its not for me';
    }
}else{
    echo 'its not for me';
}

请注意我不想使用return语句

3 个答案:

答案 0 :(得分:2)

如果两种情况下的else都相同,你可以写这样的东西。

if (!is_null($user) && $user->id == $currentUser->id){
    echo 'its for me';
} else {
    echo 'its not for me';
}

答案 1 :(得分:0)

您可以尝试这样的事情:

isset函数和===运算符使其更好。

 if (isset($user) && $user->id === $currentUser->id) {

    echo 'its for me';

 } else {

    echo 'its not for me';
 }

希望这有帮助。

和平!的xD

答案 2 :(得分:0)

echo 'Its' . (!is_null($user) && $user->id == $currentUser->id ? ' ' : ' not') . ' for me';

三元运算符可以在某些条件下使if / else子句非常短。