PHP 的短路求值是否可以最大限度地减少不必要的操作?
PHP 包含一种称为短路求值的机制,它通过结束来节省求值当先前的条件为假时,进一步检查。
考虑以下内容代码:
if (is_valid($string) && up_to_length($string) && file_exists($file)) { ...... }
如果 is_valid($string) 计算结果为 false,PHP 是否会继续检查其余条件,例如 up_to_length($string)?
PHP 通过执行必要的比较最少。如果 is_valid($string) 返回 false,则 PHP 会跳过剩余的检查,因为总体条件已确定为 false。
为了说明这一点,请考虑以下示例:
function saySomething() { echo 'hi!'; return true; } if (false && saySomething()) { echo 'statement evaluated to true'; }
中在这种情况下,尽管 saySomething() 函数被定义为回显“hi!”,但该函数永远不会被调用,因为第一个条件为 false,会短路求值并阻止解释器到达第二个条件状况。
以上是PHP 的短路评估是否可以防止不必要的函数调用?的详细内容。更多信息请关注PHP中文网其他相关文章!