Forum und email

Refencia visszatérési-érték

A refencia visszatérési-érték pl. olyan változók megtalálásakor lehet hasznos, amelyekről referenciát kell készíteni. Ne használj referencia szerinti visszaadást teljesítménynövelési célból, a motor elég okos ahhoz, hogy magától optimizálja a kódot, csak akkor adj vissza referenciát, ha ésszerű technikai okod van rá. Ha referenciát kell visszaadni visszatérési értékként, akkor használd az alábbi formát:

<?php
function &valtozo_kereses($param)
{
    
/* ...kód... */
    
return $megtalalt_valtozo;
}

$ize =& valtozo_kereses($valami);
$ize->2;
?>
Ebben a példában a valtozo_kereses egy objektumot keres meg, és a megtalált objektum egy tulajdonságát állítjuk át - helyesen. A referenciák használata nélkül a másolatának egy tulajdonságán tettük volna mindezt - hibásan.

Note: A paraméter átadással ellentétben, itt a & jelet mindkét helyen meg kell adnod a referenciavisszaadás jelöléséhez. Így nem egy másolatot kapsz, és az $ize változóra nézve referencia hozzárendelés történik, nem pedig érték hozzárendelés (értékmásolás).

Note: Ha ilyen szintaxissal akarsz referenciát visszaadni függvényből: return ($found_var);, akkor ez nem fog működni, mivel ez egy kifejezés eredményét adja vissza, és nem egy változót referencia szerint. Csak változót adhatsz vissza referencia szerint, semmi mást.