PHP函数返回false && true && false?

时间:2018-06-27 21:33:45

标签: php function return

从PrestaShop 1.6升级到1.7,我发现开发人员返回模块安装方法的方式有所变化。显然,对于旧的和新的方式,如果ALL都可以,则要返回true,否则返回false 1.6:

public function install() {
    if(!$this->someFunction() || !parent::install()) 
        return false;
    return true;
}

有时候反过来:

public function install() {
    if($this->someFunction() && parent::install()) 
        return true;
    return false;
}

但是现在在1.7中,他们是这样做的,我什至不知道它是如何工作的:

public function install() {
    return parent::install()
        && $this->someFunction();
}

函数如何返回THIS和THAT?如果我猜到了,我会认为它要么返回第一个TRUE / FALSE,然后退出,要么返回两者的和(但只有FALSE && FALSE会返回FALSE)

请帮助我理解这一点。

1 个答案:

答案 0 :(得分:2)

return this && that读为return (this && that)thisthat将被评估为boolean。如果两者均为true,则它将变为return (true && true)true && true的值为true。因此,它变为return true

它是Boolean Algebra的代码形式。