Opseg PHP Varijabli

U PHP-u, dosegnost varijable odnosi se na vidljivost varijable unutar različitih dijelova PHP skripte. Dosegnost varijable određuje gdje u kodu se varijabla može pristupiti, a gdje ne.

Postoje dvije vrste dosegnosti varijable u PHP-u: globalna i lokalna.

Globalne varijable: Globalne varijable se deklariraju izvan bilo koje funkcije, što znači da se do njih može pristupiti bilo gdje unutar skripte, uključujući unutar funkcija.

Primjer:

<?php
// Deklarirajte globalnu varijablu
$name = "John Doe";
// Definirajte funkciju koja koristi globalnu varijablu
function greet() {
    global $name;
    echo "Pozdrav, " . $name . "!";
}
// Pozovite funkciju
greet(); // Ispis: Pozdrav, John Doe!
?>

U ovom primjeru deklarirali smo globalnu varijablu pod nazivom $name i dodijelili joj vrijednost “John Doe”. Zatim definiramo funkciju pod nazivom greet() koja koristi globalnu varijablu koristeći ključnu riječ global kako bi bila dostupna unutar funkcije. Zatim pozivamo funkciju koja ispisuje “Pozdrav, John Doe!”.

Lokalne varijable: Lokalne varijable se deklariraju unutar funkcije, što znači da se do njih može pristupiti samo unutar te funkcije.

Primjer:

<?php
// Definirajte funkciju koja deklarira lokalnu varijablu
function greet() {
    $name = "John Doe";
    echo "Pozdrav, " . $name . "!";
}
// Pozovite funkciju
greet(); // Ispis: Pozdrav, John Doe!
// Pokušajte ispisati vrijednost lokalne varijable izvan funkcije
echo $name; // Bacit će grešku "Nedefinirana varijabla"
?>

U ovom primjeru definiramo funkciju pod nazivom greet() koja deklarira lokalnu varijablu pod nazivom $name i dodjeljuje joj vrijednost “John Doe”. Zatim pozivamo funkciju, koja ispisuje “Pozdrav, John Doe!”. Nakon toga pokušavamo ispisati vrijednost lokalne varijable izvan funkcije, što dovodi do greške “Nedefinirana varijabla” jer varijabla nije definirana izvan funkcije.

Varijable mogu također imati statički dosegnost, što znači da se njihova vrijednost čuva između poziva funkcija:

<?php
// Definirajte funkciju koja koristi statičku varijablu
function increment() {
    static $count = 0;
    $count++;
    echo "Brojač: " . $count . "<br>";
}
// Pozovite funkciju više puta
increment(); // Ispis: Brojač: 1
increment(); // Ispis: Brojač: 2
increment(); // Ispis: Brojač: 3
?>

U ovom primjeru definiramo funkciju pod nazivom increment() koja koristi statičku varijablu pod nazivom $count. Statička varijabla se inicijalizira na 0 prvi put kada se funkcija pozove, a njena vrijednost se čuva između sljedećih poziva. Zatim pozivamo funkciju više puta, što ispisuje “Brojač: 1”, “Brojač: 2” i “Brojač: 3” redom.