Global ja Tehtävä kiikaritähtäin PHP Ymmärtäminen Vaihtelee laajuus PHP - Osa 1 Johdanto Tämä on osa 1 minun sarja, Ymmärtäminen Vaihtelee laajuus PHP. Tässä osa sarjasta, katsomme globaali ja toimivat kiikaritähtäimellä PHP. Kaikki tässä sarjassa koskee PHP 5. Huomautus: Jos et näe koodia tai jos luulet jotain puuttuu (rikki linkki, kuva poissa), vain yhteyttä minuun [email protected]. Eli minuun yhteyttä pienintäkään ongelmaa olet mitä luet. Tarvitset perustiedot PHP jotta ymmärtää tämän sarjan.
Jos sinulla ei ole, että edellytys tieto, lue sarjan kirjoitin tässä blogissa jonka ensimmäinen osa on nimeltään, Aloittaminen PHP. Päästäkseen sarja, kirjoita otsikko ja nimeni Chrys hakukenttään tämän sivun ja valitse Etsi. Mikä on Vaihtelee laajuus PHP erittely, todetaan näin: "soveltamisala muuttuja on asiayhteyttä, jossa se on määritelty." Et voi ymmärtää, mitä se tarkoittaa, jos olet uusi laskenta. Joten aion tehdä kuvitus. Tarkastellaan seuraavaa ohjelmaa: Toiminto Fn () {$ b = 2; echo $ b; } Fn (); ?> Muuttuja, $ b on ilmoitettu ja käytetään vain toimilohkon.
Tämä muuttuja ei näy ulkopuolelle toiminto (lohko). Tämä muuttuja on sanottu Paikalliset Toiminto laajuus tai yksinkertaisesti, Local Scope. Tarkastellaan nyt seuraavaa ohjelmaa: $ b = 2; Toiminto Fn () {//joitakin lausuntoja. . . } Echo $ b; ?> Muuttuja, $ b on ilmoitettu ja käytetään ulkopuolella toiminto. Tätä muuttujaa ei voi nähdä sisälle toiminto. Sanotaan olevan maailmanlaajuisia. Seeing yleismuuttujan Local Scope Tavallisesti et näe yleismuuttujan paikallisia laajuus ja voit myös nähdä paikallinen muuttuja maailmanlaajuisia.
On kuitenkin mahdollista tehdä globaali muuttuja näkyvät paikallisissa soveltamisalaan eikä päinvastoin. On kaksi tapaa tehdä globaali muuttuja näkyvät paikallisia toiminto soveltamisala seuraavasti: käyttö globaalin Avainsana Oletetaan, että globaali muuttuja on julistettu ulkopuolella toiminto. Jotta tämä globaali muuttuja nähtäväksi sisällä, sinun täytyy uudelleen julistaa sen sisällä toiminto edeltää avainsana, globaali.
Seuraava ohjelma kuvaa tätä: $ b = 2; Toiminto Fn () {maailmanlaajuinen $ b; echo $ b; } Fn (); ?> Kun globaali muuttuja uudelleen julisti sisällä toiminto edeltää maininta, maailmanlaajuinen, globaali muuttuja näkyy sisällä toiminto. Käyttö ennalta $ global Array On ennalta array nimeltä $ global. Tämä on assosiatiivinen array avain /arvo-pareja. Kaikki globaalien muuttujien ja niiden arvot oman ohjelman tallennetaan tämän taulukon keskeisiksi /arvo-pareja. Kunkin globaali muuttuja, muuttujan nimi muodostaa näppäintä ja muuttujan arvo muodostaa vastaava jono arvo.
Salaisuus on, että tämä joukko voidaan nähdä sisälle toimintaa sekä ulkopuolella. Joten jos haluat globaali muuttuja sisällä toiminto, vain pääsyn vastaava osa yleismuuttujan jono. Seuraava ohjelma kuvaa tätä: $ b = 2; Toiminto Fn () {echo $ global ["b"]; } Fn (); ?> Huomaa, että avain yleismuuttujan array, sinulla ei ole $ merkki, nimeä edeltävä muuttujan. Muuttujan nimi on lainausmerkeissä, koska avain hakasulkeissa, kuten esimerkiksi "b" yllä.
Syöttäminen globaali muuttuja toiminnon Harkitse seuraava koodi, joka toimii: $ C = 2; Toiminto Fn ($ x) {echo $ x; } Fn ($ C); ?> Edellä koodin, $ c on globaali muuttuja, ja sitä ei voi nähdä sisälle toiminto. Toiminto on parametri, $ x. Vuonna toiminto soittaa, globaali muuttuja on muuttujana. Toiminto toimii. Tämä ei tarkoita, että globaali muuttuja on nähnyt toiminto. Globaali muuttuja ei ole nähnyt toiminto koska avainsana, globaali tai $ global jono ei ole käytetty.
Tässä on selitys siitä, mitä on tapahtunut: Kun toiminto on juuri kutsuttu, välittömästi suorituksen toiminto käynnistyy, parametrin arvo, $ X tulee arvo globaali muuttuja, $ C. Toiminto määritelmä lohko käyttää $ x eikä $ C. Joten arvo globaali muuttuja on siirtynyt toiminto ilman toimintoa nähdä globaali muuttuja (nimi). Se on arvo globaali muuttuja, joka on lähetetty väitettä eikä muuttujan (nimi). Superglobaalit PHP On joitakin ennalta paneelit, jotka voidaan nähdä sekä globaaleissa että toiminto laajuuksia.
Jotta voit käyttää jotakin näistä taulukot funktion, sinun ei tarvitse sen eteen avainsanan, globaali. Sinä vain mennä eteenpäin ja käyttää sitä kirjoittamalla sen nimen myös avain saada arvoa. Esimerkki tällaisesta matriisi on $ global että olemme juuri nähneet. Nämä paneelit kutsutaan Superglobaalit. PHP, Superglobaalit ovat: $ global $ _SERVER $ _GET $ _POST $ _FILES $ _COOKIE $ _SESSION $ _REQUEST $ _ENV Olen juuri puhunut $ GLOBAL, joka on luettelossa ensimmäisenä. Tietää muut, sinun pitäisi kuulla joitakin muita asiakirjoja.
Ei Toimilohkot Onko ehdollinen lohkoja, kuten jos-lohkon paikallisia soveltamisalat? Ei, ei ole. Paikallinen soveltamisala on yleensä huolissaan toimintoja. Harkitse seuraava koodi: $ C = 2; jos ($ C == 2) {$ c = 3; echo $ C; }?>