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

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

define("MAXSIZE",100);

echo MAXSIZE;
echo constant("MAXSIZE"); // same thing as the prevIoUs line

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

define("MAXSIZE",100);

    $x = MAXSIZE;
    echo constant($x);

解决方法

尝试一下,应该工作

define("MAXSIZE",100);

$x = "MAXSIZE";
echo constant($x);

如果你有一个字符串变量,方法constant()将返回一个定义常量的值.

考虑这个例子.

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

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

echo constant($const); // output 1

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...