PHP常量定义如下:
define('const_name','const_value');
试过这样:
define('const_name', $variable_name);
为什么呢?因为我是初学者,我想是否有效:
define('const_name', 50);
我的版本也可以使用。它没有。它是否有用而且不是因为我输错了什么,或者我的尝试只是愚蠢的?
注意:我的变量内部是从mysql数据库中提取的Google Analytics ID。只是像UA-XXXXX-Y这样的字符串,仅此而已。
答案 0 :(得分:8)
常数的值; 仅允许标量和空值。标量值是整数,浮点数,字符串或布尔值。可以定义资源常量,但不建议这样做,可能会导致不可预测的行为。
您从数据库中检索的值可能不是字符串,而只是具有__toString()
方法的对象。要保证常量值是字符串,请尝试显式casting the variable to string:
define('const_name', (string)$varible_name);
答案 1 :(得分:5)
$myVariable="what up";
define('myConstant',"$myVariable");
echo myConstant;
真的,为什么要将变量定义为常量?这不是一个好习惯。