我在PHP中收到以下错误:
注意:使用未定义的常量CONSTANT
在我定义它的确切行上:
define(CONSTANT, true);
我做错了什么?我定义了它,为什么它会说"未定义常数"?
答案 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
的 要求定义的CONSTANT
是STRING
即。包含在报价 中,如下所示:
<?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'