Zmienne zmienne
W niektórych przypadkach jest wygodne, by móc użyć zmiennej o zmiennej nazwie. To znaczy zmiennej, której nazwa może być zmieniana dynamicznie. Zwykła zmienna jest ustawiana wyrażeniem jak poniżej:
Zmienna zmienna pobiera wartość jednej zmiennej i traktuje ją jako nazwę zmiennej. W powyższym przykładzie, witaj może stać się nazwą zmiennej, przy użyciu dwóch znaków dolara, tzn.
W tym momencie dwie zmienne zostały zdefiniowane i umieszczone w drzewie
symbolicznym PHP: $a
zawierajÄ…ca "witaj" i
$witaj
zawierająca "świecie". Zatem poniższy zapis:
znaczy to samo, co:
tzn. obydwa wyświetlą: witaj świecie.
Aby używać zmiennych zmiennych jako tablic, trzeba rozwiązać pewną
niejasność. Mianowicie, jeśli napiszesz $$a[1]
, parser
musi wiedzieć, czy chesz użyć $a[1]
jako nazwy zmiennej,
czy $$a
jako nazwy tablicy, której rekord [1] cię
interesuje. W tym przypadku należy zastosować odrębną składnię:
${$a[1]}
dla pierwszego przypadku a
${$a}[1]
dla drugiego.
Proszę pamiętać, że zmienne zmienne nie mogą być używane z nowymi
superglobalami PHP. Oznacza to, że nie będą działać wyrażenia typu
${$_GET}
. Jeśli szukasz sposobu na obsługę
osiągalności superglobali i starych tablic $HTTP_*_VARS, spróbuj użyć
referencji.
Poprzedni | Spis treści | Następny |
Zasięg zmiennych | Początek rozdziału |