   #PHP Manual References Explained What References Are Not Returning
   References

                  PHP Manual
   Prev Chapter 14. References Explained Next
   ______________________________________________________________________

Passing by Reference

   You can pass variable to function by reference, so that function could
   modify its arguments. The syntax is as follows:

   <?php
   function foo (&$var)
   {
       $var++;
   }
   $a=5;
   foo ($a);
   // $a is 6 here
   ?>

   Note that there's no reference sign on function call - only on
   function definition. Function definition alone is enough to correctly
   pass the argument by reference.

   Following things can be passed by reference:

     * Variable, i.e. foo($a)
     * New statement, i.e. foo(new foobar())
     * Reference, returned from a function, i.e.:

   <?php
   function &bar()
   {
       $a = 5;
       return $a;
   }
   foo(bar());
   ?>
       See also explanations about returning by reference.

   Any other expression should not be passed by reference, as the result
   is undefined. For example, the following examples of passing by
   reference are invalid:

   <?php
   function bar() // Note the missing &
   {
       $a = 5;
       return $a;
   }
   foo(bar());
   foo($a = 5); // Expression, not variable
   foo(5); // Constant, not variable
   ?>

   These requirements are for PHP 4.0.4 and later.
   ______________________________________________________________________

   Prev                    Home                 Next
   What References Are Not  Up  Returning References
