如果第一个参数在条件下变为真,运算符将在下一次运行时变为真?

Hul*_*ner 5 php conditional-statements

可以说我有一堆看起来像这样的代码:

if( !isset($this->domainID) && !$this->getDomainID() ){
    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果第一个语句是真的,第二个语句会运行吗?因为性能明智,如果我已经获得了ID,那么从数据库中获取ID将是愚蠢的,而且还有很多其他情况同样适用.如果不是我必须筑巢,我是对的吗?

我不知道在这些情况下是否有关于编程语言如何工作的标准,或者在其他语言中是否与php不同.我尝试使用Google搜索,但在这种情况下我真的不知道要搜索什么.正如你所看到的,我很难在标题中描述它.

Jas*_*ary 17

是.如果第一个为真,则评估第二个.相反,如果第一个为假,则不会评估第二个.这可以是微观优化的好地方,正如您所指出的,逻辑进展.

根据注释,OR条件的反函数是正确的.因此,如果第一个表达式为false,则将评估下一个表达式,如果第一个表达式为真,则下一个表达式不会.