PHP 中的"(expression) OR (statement)"结构



我遇到了以下代码

defined('CONSTANT') or define('CONSTANT', 'SomeDefaultValue');

我可以猜测它的作用,但不确定,因为我在PHP手册中找不到这种语句结构。这是的简写吗

if (!defined('CONSTANT')) {
define('CONSTANT', 'SomeDefaultValue');
}

这不是一个特殊的语句,而是一个由其他部分构建的习语。只需遵循面包屑:

  1. defined((如果常量存在并已定义,则返回true,否则返回false
  2. 或者是一个很好的旧逻辑运算符,因此短路(一旦有答案,评估就会停止(

最新更新