【问题标题】:PHP: undefined constant while defining itPHP:定义时未定义的常量
【发布时间】:2016-11-25 14:17:28
【问题描述】:

我在 PHP 中收到以下错误:

注意:使用未定义的常量 CONSTANT

在我定义它的确切行上:

define(CONSTANT, true);

我做错了什么?我定义了它,为什么它说“未定义的常量”?

【问题讨论】:

标签: php undefined constants


【解决方案1】:

你需要引用成为常量的字符串

define('CONSTANT', true);

【讨论】:

  • 就是这样!非常感谢!
【解决方案2】:

了解你做错了什么的最好方法是阅读 PHP 手册。

这是define函数的定义。

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

所以第一个参数必须是字符串。

【讨论】:

    【解决方案3】:

    如果你这样写,你是在使用已经定义的常量的值作为常量名。

    您要做的是将名称作为字符串传递:

    define('CONSTANT', true);
    

    【讨论】:

      【解决方案4】:

      虽然与您的情况并非真正严格相关,但最好先检查 CONSTANT 在(重新)定义它之前是否未定义过......同样重要的是要记住 使用define 定义CONSTANTS 要求要定义的CONSTANTSTRING,即。括在引号中,如下所示:

      <?php
      
          // CHECK THAT THE CONSTANTS HASN'T ALREADY BEEN DEFINED BEFORE DEFINING IT...
          // AND BE SURE THE NAME OF THE CONSTANT IS WRAPPED WITHIN QUOTES...
          defined('A_CONSTANT') or define('A_CONSTANT', 'AN ALPHA-NUMERIC VALUE', true);
      
          // BUT USING THE CONSTANT, YOU NEED NOT ENCLOSE IT WITHIN QUOTES.
          echo A_CONSTANT;  //<== YIELDS::   "AN ALPHA-NUMERIC VALUE" 
      

      【讨论】:

        【解决方案5】:

        见下面定义常量的正确方法

        define('Variable','Value',case-sensitive);
        
        Here Variable ==> Define your Constant Variable Name
        Here Value ==> Define Constant value
        Here case-sensitive Defult value 'false', Also you can set value 'true' and 'false'
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-08-19
          相关资源
          最近更新 更多