可能重复:
PHP short circuit lazy evaluation, where is it in the php.net manual?
PHP “or” Syntax
我见过有人使用||
运算符作为程序流控制,如下所示:
function() || die("message");
如果die("message");
返回function()
,false
将会运行。此外,它似乎仅适用于die();
和exit();
,否则解释器将抛出“语法错误”消息。
我想知道这个叫什么,我在哪里可以找到它的行为文档。
答案 0 :(得分:1)
它只是一个布尔OR表达式。用法利用了一种称为短切的行为,如果表达式的第一部分求值为true
,则后半部分不会被评估,因为OR表达式已经true
。
答案 1 :(得分:0)
这只是逻辑OR。如果function()
返回true
,则表达式的其余部分不会被评估。
答案 2 :(得分:0)
这是由于OR
/ ||
是一个具有左优先权的运算符(参见此处:http://www.php.net/manual/en/language.operators.precedence.php),因为左边被评估为真,评估时没有意义正确的表达方式总是正确的。