Dostupnosť premennej PHP
Mnoho začínajúcich programátorov PHP je zmätených, pokiaľ ide o to, kedy je v programe PHP k dispozícii premenná PHP. V podstate to záleží ako a kde premenná je deklarovaná alebo vytvorená. V predchádzajúcich príručkách * ste sa dozvedeli, že vo väčšine prípadov deklarujete premennú tak, že jej priradíte počiatočnú hodnotu.

$ dollar_amt = 10;

To sa stará ako deklarovať premennú, ale kde vyhlasujete, že premenná je tiež dôležitá. Premenná je k dispozícii iba tam, kde bola vytvorená. Ak napríklad vytvoríme premennú v rámci funkcie, táto premenná je k dispozícii iba v rámci tejto funkcie. Neexistuje mimo tejto funkcie. Premýšľajte o funkcii ako o krabici, ktorá obsahuje premennú a premennú nemôžete použiť mimo tohto poľa. Pozrime sa na príklad. Nižšie uvedená funkcia vytvorí premennú $ dollar_amt a potom vytlačí vetu do webového prehľadávača.

funkcia print_cost ()
{$ dollar_amt = 10;
echo "Cena je $ dollar_amt dolárov."; }

Nie je tu žiaden problém, pretože premennú používame v príkaze echo a tento príkaz echo je súčasťou rovnakej funkcie, ktorá túto premennú vytvorila. (Všetko je v rámčeku.) Ak však chceme premennú použiť v druhom príkaze echa neskôr v programe, nebudeme ďalej pracovať v rámci poľa. Pokúsime sa použiť premennú „mimo“ pôvodnej funkcie, ktorá ju vytvorila.

funkcia print_cost ()
{$ dollar_amt = 10;
echo "Cena je $ dollar_amt dolárov."; }
------
------
echo "Budete musieť poslať šek na $ dollar_amt dolárov.";

Pretože premenná nie je k dispozícii pre druhý príkaz echo, webová stránka bude vyzerať takto.

Budete musieť poslať šek na doláre.

Premenné však môžete vytvárať kdekoľvek vo vašom programe a nielen vo vnútri funkcií. A čo premenná deklarovaná mimo funkcie, napríklad v hlavnej časti programu? Rovnaké pravidlo dostupnosti platí. Premenná je k dispozícii iba tam, kde bola vytvorená (v tomto prípade mimo poľa). Ak sa pokúsite premennú použiť vo funkcii / poli, nebude k dispozícii. Napríklad, ak vo svojom programe nastavíte počiatočnú hodnotu premennej $ cent_amt na 50, nemôžete ju použiť vo funkcii nižšie.

$ cent_amt = 50;


funkcia print_cost ()
{$ dollar_amt = 10;
echo "Cena je $ dolár_amt dolárov a $ cent_amt centov."; }

Vo webovom prehliadači uvidíte iba nasledujúcu vetu.

Cena je 10 dolárov a centov.

Ale čo v tých časoch, keď musíte vo funkcii použiť premennú „zvonku“? Jednoduchým spôsobom, ako vyriešiť tento problém, je odovzdať túto premennú ako argument pri volaní funkcie.

print_cost ( "50");

-------
* Možno by ste si mali prečítať niektoré z predchádzajúcich návodov o premenných a funkciách PHP.





Video Návody: PHP for Web Development (Smieť 2024).