Postoje četiri različita područja dosega vrijednosti varijable: lokalno, globalno, statičko i parametarsko područje dosega. Varijabla deklarirana unutar php funkcije ima lokalno područje dosega i može joj se pristupiti samo unutar te funkcije.
Zašto ne sada?
CDN pohrana slika i videa.
Pretvorba formata slika: webp...
Vrhunsko AI povećanje slika!
25Gb podataka.
Zašto ne sada?
Područje dosega varijable je dio skripte u kojem možemo koristiti varijablu. Postoje četiri različita područja dosega vrijednosti varijable:
Lokalno
Globalno
Statičko
Parametarsko
Varijabla deklarirana unutar php funkcije ima lokalno područje dosega i može joj se pristupiti samo unutar te funkcije.
<?php
$x = 5; // globalno područje dosega
function mojaFunkcija() {
echo $x; // lokalna varijabla x$
}
mojaFunkcija();
?>
Ova skripta ne će dati nikakav ispis varijable. To je zato jer se u funkciji echo $x; koristi lokalna varijabla $x kojoj nije dodijeljena nikakva vrijednost unutar ovog područja dosega.
Isto ime lokalnih varijabli možemo koristiti unutar različitih funkcija jer je doseg lokalnih varijabli samo unutar funkcije u kojoj su deklarirane. Vrijednost lokalne varijable se briše u trenutku kada se funkcija izvrši.
Varijabla koja je deklarirana izvan funkcije ima globalno područje dosega. Globalnim varijablama se može pristupiti u bilo koje dijelu programa, osim unutar funkcije. Želimo li globalnoj varijabli pristupiti unutar funkcije potrebno je koristiti ključnu riječ global.
<?php
$x = 5; // globalno područje dosega
$y = 10; // globalno područje dosega
function mojaFunkcija() {
global $x, $y; // pristup globalnim varijablama unutar funkcije
$z = $x + $y;
echo $z; // daje ispis 15
}
mojaFunkcija();
?>
PHP pohranjuje sve globalne varijable u polje zvano $GLOBALS. Za pristup varijabli $index unutar polja $GLOBALS koristimo pristup elementu polja $GLOBALS[index]. Ovo polje je također dostupno unutar funkcije i izravno se može koristiti za dohvat vrijednosti varijable ili njezinu promjenu.
Gornji primjer možemo napisati i na ovaj način koristeći polje $GLOBALS:
<?php
$x = 5; // globalno područje dosega
$y = 10; // globalno područje dosega
$z = 0;
function mojaFunkcija() {
// pristup globalnoj varijabli unutar funkcije
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
mojaFunkcija();
echo $z; // daje ispis 15
?>
Nakon što funkcije završi izvođenje, sve njezine varijable i njihove vrijednosti brišu se iz memorije. Ponekad je potrebno sačuvati vrijednost varijable i nakon završetka izvođenja funkcije, kako bi bila dostupna u slijedećem pozivu iste funkcije. Kako bi to ostvarili koristimo ključnu riječ static u deklaraciji varijable.
<?php
function mojaFunkcija() {
static $x = 1; // statička varijabla
echo ("$x <br />");
$x++;
}
mojaFunkcija(); // ispisuje 1 (nakon toga $x++)
mojaFunkcija(); // ispisuje 2 (nakon tog$xa $x++)
mojaFunkcija(); // ispisuje 3 (nakon toga $x++)
?>
Budući da je $x statička varijabla njezina vrijednost biva sačuvana i nakon završetka funkcije. Prilikom slijedećeg poziva funkcije ona ne biva ponovo inicijalizirana nego rabimo vrijednost koju je varijabla imala posljednji put kada je funkcija pozvana.
Parametarska varijabla je lokalna varijabla čija se vrijednost prenosi u funkciju pozivanjem kôda. Parametri su deklarirani u popisu ulaznih vrijednosti funkcije kod deklaracije funkcije.
<?php
function mojaFunkcija($x) {
echo $x;
}
mojaFunkcija(5); // ispisuje 5
?>
Parametre nazivamo još i argumenti funkcije.