PHP kézikönyv
Előző | 21. Fejezet. Referenciák | Következő

# Referenciakénti paraméterátadás

A függvényeknek változókat referenciaként is át lehet adni, így a függvény tudja módosítani a hívó környezetben definiált értéket. Ez a következőképpen oldható meg:

`<?php function ize(&$valtozo) { $valtozo++; } $a = 5; ize($a); // $a itt 6 ?>`

Figyeld meg, hogy nincs referencia jelzés a függvényhíváskor, csak a függvény definíciójában. Ez önmagában elég a megfelelő működéshez. A PHP újabb verzióiban, egy figyelmeztetést fogsz kapni, hogy a referencia szerinti átadás hívásidőben (Call-time pass-by-reference) elavult, ha & jelet használsz ilyen esetben: foo(&$a);.

A következők szerepelhetnek referenciakénti paraméterátadásban:

- Változó, például ize($a)

- New utasítás, például ize(new osztaly())

- Egy függvény által visszaadott referencia, például:

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

  Lásd még a refencia visszatérési-érték leírását.

Minden más kifejezést kerülni kell referencia szerinti paraméterátadáskor, mivel az eredmény határozatlan lesz. A következő példákban a referencia szerinti paraméterátadás hibának minősül:

`<?php function valami() // Figyeld meg, nincs & jel! { $a = 5; return $a; } ize(valami()); ize($a = 5); // Kifejezés, nem változó ize(5); // Konstans, nem változó ?>`

Ezek a meghatározások a PHP 4.0.4 és későbbi verzióira érvényesek.

Előző | Tartalom | Következő
Mit nem lehet referenciákkal tenni | Fel | Refencia visszatérési-érték