Domeniul de vizibilitate al variabilelor
In PHP o variabila poate fi accesata doar in contextul in care a fost definita. De exemplu, o variabila definita in interiorul unei functii nu va putea fi accesata decat de instructiunile din interiorul acelei functii. Mai mult, in mod implicit, o variabila definita in exteriorul unei functii nu va putea fi accesata in interiorul functiei chiar daca ea nu este redefinita in cadrul functiei.
Pentru ca o functie sa aiba acces la o variabila definita in afara ei, variabila trebuie redeclarata ca variabila globala in interiorul functiei.
Sa consideram urmatorul exemplu:
Scriptul PHP | Rezultatul scriptului |
<?php $a = 1; function test () { echo $a; } test (); ?> | Eroare |
Observam ca nu se afiseaza valoarea 1 deoarece instructiunea echo $a se refera la variabila locala $a care nu este definita, deci nu are nici o valoare. In continuare, este o versiune in care instructiunea echo $a va accesa variabila $a definita in afara functiei test ():
Scriptul PHP | Rezultatul scriptului |
<?php $a = 1; function test () { global $a; echo $a; } test (); ?> | 1 |
O a doua posibilitate de a accesa o variabila definita in afara functiei este folosirea vectorului $GLOBALS:
Scriptul PHP | Rezultatul scriptului |
<?php $a = 1; function test () { echo $GLOBALS ["a"]; } test (); ?> | 1 |
Link-ul autorului:
www.tutoriale.far-php.ro
Articole asemanatoare
Comentarii
Voteaza acest articol!
Trimite un comentariu!