Область видимости переменной определяет, в каких частях программы к ней можно получить доступ. В PHP выделяют четыре типа областей видимости:
  • Локальная
  • Глобальная
  • Статическая
  • Параметры функций

Локальные переменные

Если переменная объявлена внутри функции, доступ к ней возможен только из этой функции. Такая переменная называется локальной.
Пример:
Внутри функции say() создаётся переменная $message. Она локальна: извне функции к ней обратиться нельзя. Переменная существует только во время выполнения функции и исчезает после её завершения.

Глобальные переменные

Переменная, объявленная вне функций, считается глобальной. Она доступна во всём скрипте, кроме тела функций.
Пример:
В этом примере две переменные с именем $message: глобальная (вне функции) и локальная (внутри). Несмотря на одинаковое имя, это разные переменные.
Чтобы обратиться к глобальной переменной внутри функции, используйте ключевое слово global:
Важно: использование глобальных переменных считается плохой практикой.

Суперглобальные переменные

В PHP есть набор встроенных суперглобальных переменных, доступных в любой части скрипта. Они содержат информацию о среде выполнения PHP:
  • $GLOBALS - Массив всех глобальных переменных
  • $_SERVER - Данные о сервере и окружении
  • $_GET - Данные из GET-запросов
  • $_POST - Данные из POST-запросов
  • $_COOKIE - Данные из HTTP-куки
  • $_FILES - Данные о загруженных файлах
  • $_ENV - Информация о среде выполнения
  • $_REQUEST - Данные из HTTP-запроса
  • $_SESSION - Переменные сессии

Статические переменные

Статическая переменная сохраняет своё значение между вызовами функции и доступна только внутри неё. Для объявления используйте ключевое слово static.
Пример:
При каждом вызове значение $counter увеличивается на единицу.

Параметры функций

Параметры функций являются локальными и доступны только внутри самой функции.
Пример:
Параметр $items виден только внутри функции sum().

Итог

В PHP выделяют четыре типа областей видимости переменных: локальная, глобальная, статическая и параметры функций.