使用constant()函数和直接按名称引用常量有什么区别?

sun*_*esh 3 php constants

constant()如果您需要检索常量的值,但不知道其名称,则根据PHP手册非常有用.即它存储在变量中或由函数返回.

define("MAXSIZE", 100);

echo MAXSIZE;
echo constant("MAXSIZE"); // same thing as the previous line
Run Code Online (Sandbox Code Playgroud)

如果有人不知道MAXSIZE,他怎么用constant("MAXSIZE").这够用echo MAXSIZE吗?有人可以用一个例子解释一下吗?我尝试了下面的代码,它不起作用.

    define("MAXSIZE", 100);

    $x = MAXSIZE;
    echo constant($x);
Run Code Online (Sandbox Code Playgroud)

zzl*_*ani 9

尝试一下,应该工作

define("MAXSIZE", 100);

$x = "MAXSIZE";
echo constant($x);
Run Code Online (Sandbox Code Playgroud)

constant()如果您有字符串变量,该方法将返回已定义常量的值.

考虑这个例子.

define("MAX", 1000);
define("MIN", 1);

$val = 50; 
$const = null;
if ( $val < 50 ) {
    $const = "MAX";
} else {
    $const = "MIN";
}

echo constant($const); // output 1
Run Code Online (Sandbox Code Playgroud)

  • 很好的例子.:) (4认同)