PHP Manual

Локальні змінні в PHP

22. 08. 2019

Локальні змінні допустимі тільки всередині тіла **функції** або **методу** (в об'єктно-орієнтованому програмуванні).

Якщо ми працюємо в контексті звичайного сценарію, то все відбувається так, як і передбачалося:

$x = 5;
echo $x; // виводить 5

Але коли ми визначаємо користувацьку функцію, поведінка дещо змінюється:

$x = 5;
function mojeFunkce(): int
{
$x = 3;
echo $x; // виводить 3
}
echo $x; // виводить 5

Причина в тому, що змінна $x існує тільки в контексті поточної функції або методу. Така поведінка є навмисною.

Якщо ми хочемо передати значення з оточуючого коду у функцію, ми повинні викликати її з необхідними параметрами:

echo mojeFunkce(5); // виводить 6
function mojeFunkce(int $x): int
{
return $x + 1;
}

Значення у функції вводяться за допомогою параметрів. Якщо потрібно передати у функцію додаткові змінні за межами параметрів, то можна використати глобальні змінні, але це не дуже гарна ідея.

Використання локальних змінних має величезне значення при програмуванні великих додатків. Якби ми не розрізняли валідність змінних у різних контекстах, було б неможливо гарантувати, що змінна не буде перевизначена там, де ми на неї не розраховуємо (саме тому глобальні змінні є злом).

$x = 5;
$y = 3;
function soucet(int $x, int $y): int
{
return $x + $y;
}
echo $x; // виводить 5
echo soucet($x, $y); // виводить 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