PHP Manual
/
Zmienne

Zmienne lokalne w PHP

22. 08. 2019

Zmienne lokalne są ważne tylko wewnątrz ciała **funkcji** lub **metody** (w programowaniu obiektowym).

Jeśli pracujemy w kontekście zwykłego skryptu, wszystko przebiega zgodnie z oczekiwaniami:

$x = 5;
echo $x; // drukuje 5

Jeśli jednak zdefiniujemy funkcję niestandardową, zachowanie to nieco się zmienia:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // drukuje 3
}
echo $x; // drukuje 5

Wynika to z faktu, że zmienna $x istnieje tylko w kontekście bieżącej funkcji lub metody. Takie zachowanie jest celowe.

Jeśli chcemy przekazać wartość z otaczającego kodu do funkcji, musimy ją wywołać z odpowiednimi parametrami:

echo mojeFunkce(5); // drukuje 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

Wartości są wprowadzane do funkcji za pomocą parametrów. Jeśli chcesz przekazać do funkcji dodatkowe zmienne poza parametrami, możesz użyć zmiennych globalnych, ale nie jest to dobry pomysł.

Używanie zmiennych lokalnych robi ogromną różnicę podczas programowania większych aplikacji. Gdybyśmy nie rozróżniali ważności zmiennych w różnych kontekstach, nie dałoby się zagwarantować, że zmienna nie zostanie nadpisana w miejscu, w którym na nią nie liczymy (dlatego zmienne globalne są złe).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // drukuje 5
echo soucet($x, $y); // drukuje 8

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
2.
Status:
All systems normal.
2024