Глобальные переменные в коде PHP

Friday, 29 January 2010 | Автор: programmer

В PHP существует несколько понятий переменных - это локальные, глобальные и суперглобальные. Рассмотрим в этой статье понятия локальных и глобальных переменных, в чем их различие и приведем примеры различия.


Локальная переменная - это переменная, определенная внутри подпрограммы (пользовательские функции (function)). Эти переменные доступны только внутри подпрограммы.

Глобальная переменная - это переменная, которая достуна для всей программы, включая пользовательские функции.

 

Область видимости переменной - это среда в которой она определена. Главным образом все переменные в PHP имеют единую область видимости. Хотя при создании пользовательской функции, внутри ее определяется локальная область видимости. Любая переменная, созданная внутри пользовательской функции по умолчанию ограничена локальной областью видимости функции.

 

  $x = 10;

 

  function yyy() {

    $x = 20;

    echo $x;

  }

  echo $x;

 

На выходе программы получим:

20

10

 

Почему так, спросите Вы? Все очень просто. Первый раз объявленная переменная $x со значение 10 является глобальной внутри программы, а далее определяется переменная $x внутри пользовательской функции yyy() и является локальной переменной именно этой функции и имеет область видимости только этой функции.

 

Для того, чтобы объявить глобальную переменную, необходимо ее определить как глобальную с помощью зарезервированной команды global внутри пользовательской функции:

  $x = 10;

 

  function yyy() {

    global $x;

    $x = 20;

    echo $x;

    $x = 30;

  }

  echo $x;

 

На выходе программы получим:

10

30

 

Существует другой способ доступа к глобальным переменным - это использование суперглобальной переменной $GLOBALS. Сейчас приведу пример использование данной переменной, а более подробно в следующей статье "Суперглобальные переменные в PHP".

  $x = 10;

 

  function yyy() {

    $GLOBALS["x"] = 20;

  }

  echo $x;

На выходе программы получим:

20

 

 


 
Tweet


Категория(и): Изучаем PHP
Добавить комментарий
Чтобы оставить комментарий, Вам необходимо зарегистрироваться или авторизироваться