基本上
这是:
<?PHP if (false && crazyFunction()) : ?>
与以下相同:
<?PHP if (false) : ?>
<?PHP if (crazyFunction()) : ?>
如果在第一个示例中评估 FALSE 是否仍会继续评估“crazyFunction”?
基本上
这是:
<?PHP if (false && crazyFunction()) : ?>
与以下相同:
<?PHP if (false) : ?>
<?PHP if (crazyFunction()) : ?>
如果在第一个示例中评估 FALSE 是否仍会继续评估“crazyFunction”?
&&
操作员是一个循环操作员,这意味着一旦知道结果将是错误的,它将立即停止。
这意味着如果左侧部分的计算结果为假,它将停止并返回假。crazyFunction()
在这个例子中永远不会被调用。
一旦知道布尔表达式的值,就不再执行它。
请注意老式 mysql 连接中的这个(已弃用)示例:
$db=mysql_connect_db('...') or die('Database error');
如果在第一部分之后mysql_connect
返回的东西不是FALSE
0NULL
等,它不会执行 this die()
。
(不管这是否正确使用mysql_*
函数)