Podręcznik PHP
Poprzedni | Rozdział 21. Referencje | Następny

# Przekazywanie przez referencje

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 ?>`

Weź pod uwagę to, że nie ma znaku odwoływania się przez referencję przy wywoływaniu funkcji - istnieje tylko w definicji funkcji. Sama definicja funkcji jest wystarczającym miejscem do zaznaczenia przekazywania argumentów przez referencję.

Przez referencję mogą być przekazywane następujące rzeczy:

- Zmienne, np. foo($a)

- Instrukcja new, np. foo(new foobar())

- Referencję, zwracane z funkcji, np.:

  `<?php function &bar() { $a = 5; return $a; } foo(bar()); ?>`

  Zobacz również wyjaśnienia na temat zwracania przez referencję.

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 ?>`

Te wymagania są dla PHP 4.0.4 i wyższych wersji.

Poprzedni | Spis treści | Następny
Czym nie są referencje | Początek rozdziału | Zwracanie referencji