IF中的PHP常量

IF中的PHP常量,php,constants,Php,Constants,PHP中的常量有问题,不知道是否有人可以解释: 这很有效 const _ROOT = 'd:/aphp/www'; echo "r="._ROOT; 正如这一点: if (true) define('_ROOT','d:/aphp/www'); echo "r="._ROOT; 但这会产生错误:解析错误:语法错误,意外的T_常量 if (true) const _ROOT = 'd:/aphp/www'; echo "r="._ROOT; 我使用的是PHP

PHP中的常量有问题,不知道是否有人可以解释:

这很有效

const _ROOT = 'd:/aphp/www';

echo "r="._ROOT;
正如这一点:

if (true) 
        define('_ROOT','d:/aphp/www');

echo "r="._ROOT;
但这会产生错误:解析错误:语法错误,意外的T_常量

if (true) 
    const _ROOT = 'd:/aphp/www';

echo "r="._ROOT;
我使用的是PHP5.3.2,这是因为

const
关键字必须在顶级作用域中声明

来自PHP文档

注意:与使用define()定义常量不同,常量 必须在顶层声明使用const关键字定义的 作用域,因为它们是在编译时定义的。这意味着他们 不能在函数、循环或if语句中声明

谢谢,它隐藏在这里的“便条”中