【发布时间】:2011-03-14 08:24:55
【问题描述】:
对不起,如果这听起来像一个非常愚蠢的问题。
但我用谷歌搜索了网络,还专门用谷歌搜索了 php.net 网站和 stackoverflow.com 网站。
我知道 PHP 在使用 and, or, &&, || 运算符时会进行短路惰性求值,但是 PHP 手册中哪里清楚地说明了这一点???
我发现只有 Wikipedia 作为唯一的“可信”来源,说 PHP 会对这些运算符进行惰性求值。
【问题讨论】:
-
我也不知道它写在哪里,但很多时候它被认为是理所当然的,例如当人们像
mysql_connect(...) || die("Connection failed");这样打电话时。 -
最值得信赖的来源是源代码本身。就我上次阅读时的记忆而言,这是真的。
-
官宣与否有关系吗?这就是 PHP 的工作方式,在编写代码时要考虑到这个想法。
-
休,我的问题并没有那么愚蠢,因为有人投了 +1 票。
-
+1:这是一个非常合理的问题。在没有明确规范的情况下进行编程当然是可能的,依赖于代码示例的推论、关于设计者意图的传闻,以及探索当前实现的细节。但是任何不得不这样工作的人都有权担心他们的房子是建在沙子上的。
标签: php lazy-evaluation short-circuiting