【问题标题】:PHP Constant inside IF [duplicate]IF内的PHP常量[重复]
【发布时间】:2014-03-16 11:17:39
【问题描述】:

在 PHP 中遇到常量问题想知道是否有人可以解释:

这行得通

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

echo "r="._ROOT;

就像这样:

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

echo "r="._ROOT;

但这给出了错误:解析错误:语法错误,意外的 T_CONST

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

echo "r="._ROOT;

我使用的是 php 5.3.2

【问题讨论】:

    标签: php constants


    【解决方案1】:

    那是因为..

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

    来自 PHP 文档

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

    Source

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-06
    • 1970-01-01
    • 2020-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 2017-12-28
    相关资源
    最近更新 更多