Możesz przekazać zmienną do funkcji poprzez referencję, by funkcja mogła modyfikować swoje parametry. Skłania jest jak następuje:
<?php
function foo (&$zmienna)
{
$zmienna++;
}
$a=5;
foo ($a);
// $a jest równe 6 w tym momencie
?>
Przez referencję mogą być przekazywane następujące rzeczy:
Referencję, zwracane z funkcji, np.:
<?php
function &bar()
{
$a = 5;
return $a;
}
foo(bar());
?>
Każde inne wyrażenie nie powinno być przekazywane przez referencję, ponieważ wynik takiego przekazania jest nieprzewidywalny. Dla przykładu, poniższe przykłady przekazywania przez referencję są niepoprawne:
<?php
function bar() // Zwróć uwagę na brak &
{
$a = 5;
return $a;
}
foo(bar());
foo($a = 5); // Wyrażenie, nie zmienna
foo(5); // Stała, nie zmienna
?>