访问if后,PHP使用else

时间:2015-03-24 20:23:23

标签: php if-statement

让我们假装我们有一个if语句,如:

if(something_true) {
    $obj = get(my_obj);
    if($obj !== null) do(something_special);
    else do(the_default); # First else
}
else do(the_default); # Second else

是否可以在第一个其他地方退出if,而继续使用第二个?

我的想法是,我不必两次编写完全相同的代码。

3 个答案:

答案 0 :(得分:0)

像这样

if(something_true && get(my_obj) !== null) {
    do(something_special);
}
else do(the_default); # Second else

答案 1 :(得分:0)

那是不可能的。只有当初始条件为假时才会执行第二个其他操作,这只是简单的逻辑。只需在第一个语句中检查something_true和!== null,并假设两个esle中的“the_default”与ashkufaraz建议在第二个语句中做同样的事情。

答案 2 :(得分:0)

解决方案deceze评论作品。 如果您以后甚至需要my_obj,您可以使用以下内容:

if(something_true) && (!is_null($obj = get(my_obj);)) {
    do_something_special($obj);
}
else do(the_default); # Second else

从技术上讲,ashkufaraz的建议也解决了这个问题,但我不推荐它,因为它每次调用get(my_obj)。