Premenné
Všetky premenné začínajú znakom $. Za znakom $ nasleduje identifikátor premennej. Napríklad $a označujeme ako "premenná a". PHP neobmedzuje dĺžku názvu premenných a preto je lepšie používať popisnejšie názvy premenných. Pri identifikátoroch by sme sa mali vyvarovať diakritických znamienok, aby nenastali problémy s rôznym kódovaním znakových sád.
Pravidlá:
- identifikátor musí začínať písmenom alebo podtržníkom "_",
- identifikátor môže obsahovať len alfanumerické znaky alebo podtržník "_" (a-Z, 0-9, a "_" ),
- identifikátor nemôže obsahovať medzeru.
V názvoch premenných sú rozlišovné malé a veľké písmená, napr. $pocet je iná premenná ako $Pocet alebo $POCET.
Premenné v PHP nie je potrebné deklarovať alebo inicializovať.
<?php
$a = 100;
$b = $a;
$c = $a + $b;
?>
V príklade sme najprv do premennej a priradili hodnotu 100 a do premennej b sme priradili hodnotu, ktorú obsahuje premenná a. Nakoniec sme do premennej c uložili súčet oboch premenných, tj. 200.
Z iných programovacích jazykov sme zvyknutí, že každá premenná má priradený určitý dátový typ a je do nej možné ukladať len hodnoty odpovedajúce danému dátovému typu. V PHP sa o dátový typ premennej nemusíme starať. Každá premenná môže nadobudnúť hodnotu ľubovoľného typu a je možné počas behu programu do premennej priraďovať hodnoty rôznych dátových typov. (viď kapitolu Dátové typy a operátory)
<?php
$a = 11;
$a = 3.14159265;
$a = "text";
?>
Odkaz na premenné
Keď priradíme jednu premennú do druhej, napr. <?php $a = $b; ?>, je obsah premennej b predaný premennej a hodnotou. To znamená, že sa vytvorí nová premenná na inom mieste v pamäti a na toto miesto je skopírovaná časť pamäte vyhradená pre premennú b. Vzniknú dve nezávislé premenné.
PHP umožňuje aj predávanie premennej odkazom. Vytvorí sa niečo ako "ukazovateľ" na rovnakú premennú. Nová premenná je označením toho istého úseku pamäte a obe premenné sú na sebe závislé. Ak sa zmení jedna, zmení sa automaticky aj druhá. Premennú predávame uvedením znaku & (ampersand) pred predávanú premennú, <?php $a = &$b; ?>.
V tomto prípade nedochádza ku kopírovaniu hodnoty a príkaz môže byť vykonaný rýchlejšie.
Premenná v premennej
PHP má vlastnosť, pomocou ktorej je možné odkazovať sa na premennú menom uloženým v inej premennej.
<?php
$a = 11;
$b = 9;
$c = "a";
echo $c; // vypíše a, tj. hodnotu premennej c
echo $$c; // vypíše 11, tj. hodnotu premennej a
$c = "b";
echo $$c; // vypíše 9, tj. hodnotu premennej b
?>
Najprv sa vyhodnotí $c (ako a) a vznikne $a ako bežné označenie premennej. Je možné pokračovať aj ďalej a referencie ešte viac zamotať.
<?php
$a = "txt";
$pom = "a";
$x1 = "pom";
echo $$$x1; // vypíše: txt
?>

