downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

Przekazywanie przez referencje> <Co robią referencje
[edit] Last updated: Fri, 30 Nov 2012

view this page in

Czym nie są referencje

Jak powiedizano wcześniej, referencje nie są wskaźnikami. To znaczy, że poniższy zapis nie zadziała tak jak się wydaje:

<?php
function foo (&$zmienna)
{
    
$zmienna =& $GLOBALS["baz"];
}
foo($bar);
?>

To, co się faktycznie dzieje, to zmienna $zmienna w funkcji foo będzie związana ze zmienną $bar podczas wywołania, lecz zaraz potem będzie związana po raz wtóry, tym razem z $GLOBALS["baz"]. Nie ma sposobu by związać $bar w zakresie wywoływującym funkcję z czymś innym, używając mechanizmu referencji, ponieważ zmienna $bar nie jest dostępna w funkcji foo (jest tylko reprezentowana przez zmienną $zmienna, lecz $zmienna zawiera tylko wartość zmiennej, a nie jest wiązaniem nazwa-wartość w tablicy symboli).



Przekazywanie przez referencje> <Co robią referencje
[edit] Last updated: Fri, 30 Nov 2012
 
add a note add a note User Contributed Notes Czym nie są referencje - [19 notes]