I know to define a constant, you do something like this
define("CONSTANT", "Hello world.");
if I want to change the value of the constant I would have to do define() again? Why couldn't I just do CONSTANT = "whatever";
after it has already been defined the first time?
A constant is an identifier (name) for a simple value. The value cannot be changed during the script. A valid constant name starts with a letter or underscore (no $ sign before the constant name). Note: Unlike variables, constants are automatically global across the entire script.
Constants cannot be defined by simple assignment, they may only be defined using the define() function. Constants may be defined and accessed anywhere without regard to variable scoping rules. Once the Constants have been set, may not be redefined or undefined.
No, you cannot redefine a constant (except with runkit_constant_redefine), that's why is called CONSTANT.
The whole point of a constant is that it is constantly and always the same. You can not change a constant after you defined it.
Even using define("CONSTANT", "Hello world.");
would return an error.
I just did it real fast to show you what you'd get:
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
Constants, as the name specifies, cannot be changed once defined. Use variables instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With