【发布时间】:2011-08-07 08:59:06
【问题描述】:
给定以下代码:
if (is_valid($string) && up_to_length($string) && file_exists($file))
{
......
}
如果is_valid($string) 返回false,php 解释器是否仍会检查后面的条件,例如up_to_length($string)?
如果是这样,那为什么它不需要做额外的工作呢?
【问题讨论】:
-
这里指的是短路求值的话题,不同的语言处理不同。
-
@AJ:老实说,我还没有看到一种(严重/广泛使用的)编程语言没有逻辑和逻辑或的短路评估。你有例子吗?
-
@delnan - 我认为您的意思是“最广泛使用的编程语言没有实现任何 eager 运算符。”
-
@delnan - 想到 VB 和 Fortran...
标签: php if-statement short-circuiting