statisk variabel i PHP Forstå Variable omfang i PHP - Del 2 Innledning Dette er del 2 av min serie, Forstå Variable Scope i PHP. I denne delen av serien ser vi på statisk variabel i PHP. Alt i denne serien handler om PHP 5. Merk: Hvis du ikke kan se koden, eller hvis du tror noe mangler (ødelagt kobling, bilde fraværende), bare kontakte meg på [email protected]. Det er, kontakt meg for den minste problemet du har om hva du leser.
Eksistensen av Local Scope Variable Betrakt følgende program: function fn () {$ e = 5; echo $ e; //andre uttalelser som involverer $ e i denne blokken. } Fn (); ?> Vi har en funksjon og den variable, $ e inne i funksjon. Denne variabelen er ikke funnet noe sted utenfor funksjonen. Vet at når gjennomføringen av denne funksjonen finner sted, finnes variabelen $ e. Så snart utførelse av funksjonen er over, den variable $ e (og dens verdi) opphører å eksistere; som er den variable ikke er beholdt etter utførelsen av funksjonen; men programmet fortsetter.
Dette gjelder for alle funksjoner og deres lokale variabler. Making Variable eksistere etter Funksjon Execution Merk at variabelen ovenfor er en lokal funksjon variabel. Det er en måte å gjøre en lokal variabel som den ovenfor, eksisterer etter henrettelsen funksjon. For å oppnå det du foran variabelen i sin initialisering i den lokale omfang, med søkeordet, statisk. Følgende program illustrerer dette: function fn () {statisk $ e = 5; echo $ e. "$ E = $ e + 2;} fn (); fn (); fn ();?.
> I programmet har du funksjonsdefinisjonen og deretter funksjonen kalles tre ganger Den første setningen i funksjonen initialiserer lokal variabel, $ e, innledes med nøkkelord, gjør statisk. Denne uttalelsen variabelen $ e og hva verdsetter sine kjøper, eksisterer etter at funksjonen har utført. den andre setningen ekko uansett verdi $ e har til nettleseren. Den tredje setningen øker verdien av $ e av 2. Funksjonen kalles tre ganger. Første gang det kalles, er verdien av $ e 5. Verdien av 5 er gjentatt og da verdien av $ e økes med 2 til 7 .
Som utførelsen av funksjonen ender $ e beholder verdien, 7 fordi dens initialisering, ble det gjort statisk. Den andre gangen funksjonen kalles, er initialisering ikke så inn igjen fordi det er statisk og blir sett på bare i den første funksjonen utførelsen. I den andre utførelse (anrop), er $ e verdien ekko som 7. Før utløpet av den andre utførelsen, er verdien $ e økte fra 7 til 9. Ved slutten av den andre utførelsen av funksjonen Verdien av 9 beholdes. I