Just a quick note:
From PHP7 on you can even define a multidimensional Array as Constant:
define('QUARTLIST',array('1. Quarter'=>array('jan','feb','mar'),'2.Quarter'=>array('may','jun','jul'));
does work as expected.
    You can define a constant by using the 
    define()-function or by using the 
    const keyword outside a class definition as 
    of PHP 5.3.0. While define() allows a constant to be
    defined to an arbitrary expression, the const keyword has
    restrictions as outlined in the next paragraph.
    Once a constant is defined, it can never be
    changed or undefined.
   
    When using the const keyword,
    only scalar data (boolean, integer,
    float and string) can be contained 
    in constants prior to PHP 5.6. From PHP 5.6 onwards, it is possible to 
    define a constant as a scalar expression, and it is also possible
    to define an array constant. It is possible to define
    constants as a resource, but it should be avoided, as it can
    cause unexpected results.
   
    You can get the value of a constant by simply specifying its name.
    Unlike with variables, you should not prepend
    a constant with a $.
    You can also use the function constant() to
    read a constant's value if you wish to obtain the constant's name
    dynamically. 
    Use get_defined_constants() to get a list of 
    all defined constants.
   
Note: Constants and (global) variables are in a different namespace. This implies that for example
TRUEand $TRUE are generally different.
    If you use an undefined constant, PHP assumes that you mean
    the name of the constant itself, just as if you called it as
    a string (CONSTANT vs "CONSTANT"). 
    This fallback is deprecated as of PHP 7.2.0, and an error of level
    E_WARNING is issued when it happens
    (previously, an error of level
    E_NOTICE has been issued instead.)
    See also the manual entry on why 
    $foo[bar] is
    wrong (unless you first define()
    bar as a constant). This does not apply to (fully) qualified constants,
    which will raise a fatal error if undefined. If you simply want to check if a
    constant is set, use the defined() function.
   
These are the differences between constants and variables:
$)
       before them;
      
     const keywords and as of
       PHP 7 array constants can also be defined using define()
       You may use arrays in constant scalar expressions
       (for example, const FOO = array(1,2,3)[0];),
       but the end result must be a value of allowed type.
       
     
Example #1 Defining Constants
<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
echo Constant; // outputs "Constant" and issues a notice.
?>
Example #2 Defining Constants using the const keyword
<?php
// Works as of PHP 5.3.0
const CONSTANT = 'Hello World';
echo CONSTANT;
// Works as of PHP 5.6.0
const ANOTHER_CONST = CONSTANT.'; Goodbye World';
echo ANOTHER_CONST;
const ANIMALS = array('dog', 'cat', 'bird');
echo ANIMALS[1]; // outputs "cat"
// Works as of PHP 7
define('ANIMALS', array(
    'dog',
    'cat',
    'bird'
));
echo ANIMALS[1]; // outputs "cat"
?>
Note:
As opposed to defining constants using define(), constants defined using the
constkeyword must be declared at the top-level scope because they are defined at compile-time. This means that they cannot be declared inside functions, loops,ifstatements ortry/catchblocks.
Note:
Constants defined using the
constkeyword are always case-sensitive, while constants defined using define() may be case-insensitive.
See also Class Constants.
 add a note
 add a note
  
Just a quick note:
From PHP7 on you can even define a multidimensional Array as Constant:
define('QUARTLIST',array('1. Quarter'=>array('jan','feb','mar'),'2.Quarter'=>array('may','jun','jul'));
does work as expected.
Constants of constant : 
<?php
const foo = hello;
const bar = foo;
const bd = bar;
echo "bd = " .bd;   // Prints out: Hello
?>
With PHP 5.6, multi-dimensional arrays are also possible if you use "const" instead of "define". So,
define('QUARTLIST',array('1. Quarter'=>array('jan','feb','mar'),'2.Quarter'=>array('may','jun','jul')));
won't work with PHP 5.6, but
const QUARTLIST=array('1. Quarter'=>array('jan','feb','mar'),'2.Quarter'=>array('may','jun','jul'));
will.
const ArrayFromTextfile = file("mytextfile.txt", FILE_IGNORE_NEW_LINES);
does not work, it throws an error:
Fatal error: Constant expression contains invalid operations in php shell code on line …
Instead use:
define ("ArrayFromTextfile", file("mytextfile.txt", FILE_IGNORE_NEW_LINES));
print_r(ArrayFromTextfile);
Result:
Array
(
    [0] ⇨ Line 1
    [1] ⇨ Line 2
    [2] ⇨ Line 3
    [3] => …
)
