2

PHP 常量定义如下:

define('const_name','const_value');

像这样尝试:

define('const_name', $variable_name);  

为什么?因为我是初学者,我想这是否可行:

define('const_name', 50);  

我的版本也可以。它没有。它是否应该起作用,而不是因为我输入错误,或者我的尝试只是愚蠢的?

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

4

2 回答 2

8

文档中:

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

您从数据库中检索的值可能不是字符串,而只是带有__toString()方法的对象。要保证常量值是字符串,请尝试将变量显式转换为字符串

define('const_name', (string)$varible_name);
于 2012-09-23T22:06:31.110 回答
5
$myVariable="what up";
define('myConstant',"$myVariable");
echo myConstant;

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

于 2012-09-23T22:08:06.570 回答