Returning References
   
    Returning by reference is useful when you want to use a function
    to find to which variable a reference should be bound. Do
    not use return-by-reference to increase performance.
    The engine will automatically optimize this on its own. Only return
    references when you have a valid technical reason to do so. To
    return references, use this syntax:
    
    In this example, the property of the object returned by the
    
getValue function would be set, not the
    copy, as it would be without using reference syntax.
   
   
Note: 
    
     Unlike parameter passing, here you have to use
     & in both places - to indicate that you
     want to return by reference, not a copy, and to indicate that
     reference binding, rather than usual assignment, should be done
     for $myValue.
    
   
   Note: 
    
     If you try to return a reference from a function with the syntax:
     return ($this->value); this will not
     work as you are attempting to return the result of an
     expression, and not a variable, by reference. You can
     only return variables by reference from a function - nothing else.
     Since PHP 5.1.0, an
     E_NOTICE error is issued if the code tries to return
     a dynamic expression or a result of the new operator.
    
   
   
   To use the returned reference, you must use reference assigment:
    
   To pass the returned reference to another function expecting a reference
   you can use this syntax:
    
   
   Note: 
    
      Note that array_push(&collector(), 'foo'); will
      not work, it results in a fatal error.