Sometimes it is convenient to be able to have variable variable
    names.  That is, a variable name which can be set and used
    dynamically.  A normal variable is set with a statement such as:
   
    A variable variable takes the value of a variable and treats that
    as the name of a variable.  In the above example,
    hello, can be used as the name of a variable
    by using two dollar signs. i.e.
   
    At this point two variables have been defined and stored in the
    PHP symbol tree: $a with contents "hello" and
    $hello with contents "world".  Therefore, this
    statement:
   
    produces the exact same output as:
   
    i.e. they both produce: hello world.
   
    In order to use variable variables with arrays, you have to
    resolve an ambiguity problem.  That is, if you write
    $$a[1] then the parser needs to know if you
    meant to use $a[1] as a variable, or if you
    wanted $$a as the variable and then the [1]
    index from that variable.  The syntax for resolving this ambiguity
    is: ${$a[1]} for the first case and
    ${$a}[1] for the second.
   
| Warning | 
     Please note that variable variables cannot be used with PHP's 
     Superglobal arrays
     within functions or class methods.
      |