PHP:定义它时的未定义常量

时间:2016-11-25 14:17:29

标签: php undefined constants

我在PHP中收到以下错误:

  

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

在我定义它的确切行上:

define(CONSTANT, true);

我做错了什么?我定义了它,为什么它会说"未定义常数"?

5 个答案:

答案 0 :(得分:5)

您需要引用变为常量的字符串

define('CONSTANT', true);

答案 1 :(得分:5)

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

以下是define函数的定义。

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

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

答案 2 :(得分:1)

如果您这样写,则使用已定义常量的值作为常量名称。

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

define('CONSTANT', true);

答案 3 :(得分:1)

  

虽然不是真的,与您的情况严格相关,但最好先检查一下CONSTANT之前是否已经定义过(重新)定义它......记住这一点也很重要使用CONSTANTS定义define 要求定义的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" 

答案 4 :(得分:0)

见下面定义常量的方法

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'