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

Локальные переменные ограничены той функцией, в рамках которой они ис­пользуются. При этом переменные, описанные в основном скрипте (они называ­ются глобальными), для функции являются недоступными. В отличие от неко­торых других языков программирования, в РНР такой доступ по умолчанию за­прещен, чтобы избежать конфликтов локальных и глобальных данных. Чтобы получить доступ к глобальным переменным, должно использоваться их явное описание при помощи оператора global. Пример демонстрирует использо­вание как локальных, так и глобальных переменных.

code: #php
<HTML>
<HEAD>
<TITLE>Глобальные и локальные переменные</TITLE>
</HEAD>
<BODY>
<H1>Глобальные и локальные ..переменные </H1>
<?php
function local_scope() {
  $value = 1000000;
  echo "Внутри функции \$value =' ", $value, "<BR>";
}
 
function global_scope() {
  global $value;
  echo "Внутри функции глобальная переменная \$value = ",  $value,   "<BR>";
}
 
$value = 5;
echo "В теле.скрипта \$value = ", $value, "<BR>";
local_scope();
global_scope();
 
echo "В теле скрипта все еще \$value = ", $value, "<BR>";
?>
</BODY>
</HTML>

Из примера видно, что после использования оператора global значение переменной $value стало доступно внутри функции global_scope.

Вместо использования оператора global доступ к глобальным переменным можно получить при помощи специального суперглобального массива $GLOBALS, как показано в следующем фрагменте кода:

code: #php
function global_scope() {
  echo "Внутри функции глобальная переменная \$value = ", $GLOBALS["value"], "<BR>";
}
результат выполнения примера
Поделиться:

Похожие статьи: