Acces la o variabilă globală în cadrul unei funcții

sarcină
Este necesar să accesați variabila globală din interiorul funcției.

Soluția
Plasați variabila globală în domeniul de aplicare local folosind cuvântul cheie global:







funcția eat_fruit ($ fruit) global $ chew_count;
pentru ($ i = $ chew_count; $ i> 0; $ i--).
>
>

Sau se referă la acesta direct în matricea $ GLOBALS:

funcția eat_fruit ($ fruit) pentru ($ i = $ GLOBALS ['chew_count']; $ i> 0; $ i--).
>
>

discuție
Dacă în interiorul funcției sunt utilizate un număr de variabile globale, cuvântul cheie global poate face mai ușor înțelegerea sintaxei funcției, mai ales dacă variabilele globale sunt plasate în șiruri de caractere.







Variabilele globale pot fi plasate în domeniul de aplicare local prin specificarea cuvântului cheie global cu o listă de variabile separate prin virgule:

De asemenea, puteți specifica numele variabilelor globale utilizând variabilele variabile:

$ who_var = 'vârstă';
global $$ which_var; // se referă la variabila globală $ age

Cu toate acestea, dacă funcția unset () este apelată pentru o variabilă plasată în domeniul local cu cuvântul cheie global, variabila devine dezactivată numai în cadrul funcției.


Pentru a reseta o variabilă în domeniul global, trebuie să apelați funcția unset () din elementul $ GLOBALS:

$ food = 'pizza';
băutură $ = "bere";
petrecere de funcții () global $ food, $ drink;
dezactivat ($ food); // mânca pizza
dezactivat ($ GLOBALS ['drink']); // bem bere
>
tipăriți "$ food: $ drink \ n";
petrecere ();
tipăriți "$ food: $ drink \ n";
pizza: bere
pizza:







Trimiteți-le prietenilor: