Pamiętam jak pisałem kiedyś pewny skrypt oparty na funkcji i potrzebowałem odwołać się do zmiennej globalnej, która była nazwą parametru funkcji. Do funkcji przekazywana była 1 z 20 nazw zmiennych. Wyglądałoby to mniej więcej tak
<?php
$zmienna1 = 'wartość 1';
$zmienna2 = 'wartość 2';
function zmienna($var)
{
if($var == 'zmienna1')
{
global $zmienna1;
return $zmienna1;
}
elseif($var == 'zmienna2')
{
global $zmienna2;
return $zmienna2;
}
// ...kolejne 18 warunków...
}
echo zmienna('zmienna1');
Oczywiście w moim przypadku funkcja miała za zadanie coś innego, niż wyświetlenie wartości zmiennej ale to tylko przykład.
Jak zrobić to prościej? Otóż, PHP ma coś takiego jak „zmienna zmiennej”. Jak to wygląda? Pokażę na przykładzie zmiany powyższej funkcji.
<?php
$zmienna1 = 'wartość 1';
$zmienna2 = 'wartość 2';
function zmiennaZmiennej($var)
{
global $$var;
return $$var;
}
echo zmiennaZmiennej('zmienna1');
Nie, podwójny $ przed var to nie błąd.
<?php $a = 'hello'; $hello = ' world'; echo $a.$$a; // wyświetli nam "hello world"














Ziomek czcionka Ci nie pasuje. Polskie znaki są napisane inną, trzeba to zmienić !
Wkrótce zostanie to poprawione, dzięki
Do jakiego contentu chcesz trafić z tym PHP? Do początkujących czy średnio-zaawansowanych?
Sądzę, że posty na temat PHP będą zróżnicowane pod względem umiejętności. Podejrzewam, że w większości będą to rzeczy, z którymi mam aktualnie do czynienia i są na tyle przydatne aby je opisać. Jeśli chodzi o ten wpis to z pewnością jest to kierowane dla początkujących, choć większość początkujących tego nie użyje w swoich skryptach
.