PHP constants are name or identifier that can't be changed during the execution of the script except for magic constants, which are not really constants. PHP constants can be defined by 2 ways:
Constants are similar to the variable except once they defined, they can never be undefined or changed. They remain constant across the entire program. PHP constants follow the same PHP variable rules. For example, it can be started with a letter or underscore only.
Conventionally, PHP constants should be defined in uppercase letters.
Use the define() function to create a constant. It defines constant at run time. Let's see the syntax of define() function in PHP.
define(name, value, case-insensitive)
Let's see the example to define PHP constant using define().
File: constant1.php
<?php define("MESSAGE","Hello rookienerd PHP"); echo MESSAGE; ?>
Output:
Create a constant with case-insensitive name:
File: constant2.php
<?php define("MESSAGE","Hello rookienerd PHP",true);//not case sensitive echo MESSAGE, "</br>"; echo message; ?>
Output:
File: constant3.php
<?php define("MESSAGE","Hello rookienerd PHP",false);//case sensitive echo MESSAGE; echo message; ?>
Output:
PHP introduced a keyword const to create a constant. The const keyword defines constants at compile time. It is a language construct, not a function. The constant defined using const keyword are case-sensitive.
File: constant4.php
<?php const MESSAGE="Hello const by rookienerd PHP"; echo MESSAGE; ?>
Output:
There is another way to print the value of constants using constant() function instead of using the echo statement.
Syntax
The syntax for the following constant function:
constant (name)
File: constant5.php
<?php define("MSG", "rookienerd"); echo MSG, "</br>"; echo constant("MSG"); //both are similar ?>
Output:
Constant | Variables |
---|---|
Once the constant is defined, it can never be redefined. | A variable can be undefined as well as redefined easily. |
A constant can only be defined using define() function. It cannot be defined by any simple assignment. | A variable can be defined by simple assignment (=) operator. |
There is no need to use the dollar ($) sign before constant during the assignment. | To declare a variable, always use the dollar ($) sign before the variable. |
Constants do not follow any variable scoping rules, and they can be defined and accessed anywhere. | Variables can be declared anywhere in the program, but they follow variable scoping rules. |
Constants are the variables whose values can't be changed throughout the program. | The value of the variable can be changed. |
By default, constants are global. | Variables can be local, global, or static. |