首页 > 解决方案 > PHP中的“(表达式)OR(语句)”结构

问题描述

我遇到了以下代码

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

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

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

标签: php

解决方案


这不是一个特殊的陈述,而是一个由其他部分组成的成语。只需按照面包屑:

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

推荐阅读