【发布时间】:2011-09-18 17:13:51
【问题描述】:
快速提问。我一直在这个地方的库中看到速记表达式,尽管我已经做了 3 年多的 PHP 开发人员,但我很难完全了解以下内容的评估方式。
PHP 解释器在遇到以下简写代码行时究竟会做什么?
<?php
defined('foo') OR exit('foo is not defined!');
$foo AND $this->bar();
我猜这显然是条件执行——即除非第一位为真,否则第二个语句不会被执行......但是按位运算符的使用让我有点困惑。
有人可以详细说明吗?
谢谢:)
【问题讨论】:
-
@Gordon - 不,不是。我知道 && 与 AND 相同,与 || 相同和或。我在询问速记逻辑 - 现在已向我指出短路评估。
-
有人刚刚将我与此链接。你到底是什么问题?
-
我只是指出可能的重复。在旁注中,用那个链接回答的人不应该用那个链接回答。它应该是评论或近距离投票。这就是为什么我将它复制到这里并将他的答案标记为不是答案的原因。这一切都只是家务。
标签: php logical-operators