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:
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:
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:
Ezek a meghatározások a PHP 4.0.4 és későbbi verzióira érvényesek.