将变量值分配给常量

时间:2012-09-23 22:04:23

标签: php variables constants

PHP常量定义如下:

define('const_name','const_value');

试过这样:

define('const_name', $variable_name);  

为什么呢?因为我是初学者,我想是否有效:

define('const_name', 50);  

我的版本也可以使用。它没有。它是否有用而且不是因为我输错了什么,或者我的尝试只是愚蠢的?

注意:我的变量内部是从mysql数据库中提取的Google Analytics ID。只是像UA-XXXXX-Y这样的字符串,仅此而已。

2 个答案:

答案 0 :(得分:8)

来自documentation

  

常数的值; 仅允许标量和空值。标量值是整数,浮点数,字符串或布尔值。可以定义资源常量,但不建议这样做,可能会导致不可预测的行为。

您从数据库中检索的值可能不是字符串,而只是具有__toString()方法的对象。要保证常量值是字符串,请尝试显式casting the variable to string

define('const_name', (string)$varible_name);

答案 1 :(得分:5)

$myVariable="what up";
define('myConstant',"$myVariable");
echo myConstant;

真的,为什么要将变量定义为常量?这不是一个好习惯。