Passing by ReferencePodręcznik PHPPoprzedniRozdział 15. References ExplainedNastępnyPassing by Reference
You can pass variable to function by reference, so that function could modify
its arguments. The syntax is as follows:
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.:
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:
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.
PoprzedniSpis treściNastępnyWhat References Are NotPoczątek rozdziałuReturning References