我知道定义一个常量,你可以这样做
define("CONSTANT", "Hello world.");
如果我想改变常量的值,我必须再次执行define()吗?为什么我不能在第一次定义之后就直接执行
CONSTANT = "whatever";
呢?
常数的全部意义在于它始终是相同的。定义常量后就无法更改它。
即使使用
define("CONSTANT", "Hello world.");
也会返回错误。
我只是快速地向您展示您会得到什么:
Notice: Constant CONSTANT already defined in /Users/stokholm/test.php on line 3
Call Stack:
0.0003 629992 1. {main}() /Users/stokholm/test.php:0
0.0171 630232 2. define() /Users/stokholm/test.php:3
常量,正如其名称所示,一旦定义就不能更改。请改用变量。
在某些情况下,对于 PHP≥5.6,您可以使用别名技术重新定义常量:
define('MY_CONST', 'const_value');
var_dump(MY_CONST);
define('NEW_MY_CONST', 'new_const_value');
use const NEW_MY_CONST as MY_CONST;
var_dump(MY_CONST);