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. In recent versions of PHP
you will get a warning saying that "Call-time pass-by-reference" is
deprecated when you use a & in foo(&$a);.
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()); // Produces fatal error since PHP 5.0.5