Главная arrow Язык программирования PHP arrow Область видимости переменных

Область видимости переменных

Язык программирования PHP - Учебник по PHP

Функции



Переменные в функциях имеют локальную область видимости. Это означает, что если даже локальная и внешняя переменные имеют одинаковые имена, то изменение локальной переменной никак не повлияет на внешнюю переменную:

<?
  function get_sum()
  {
    $var = 5; // локальная переменная
    echo $var;
  }
  $var = 10; // глобальная переменная 
  get_sum(); // выводит 5 (локальная переменная)
  echo("<br>$var"); // выводит 10 (глобальная переменная)
?>

Локальную переменную можно сделать глобальной, если перед ее именем указать ключевое слово global. Если внешняя переменная объявлена как global, то к ней возможен доступ из любой функции:

<?
function get_sum()
  {
    global $var;
    $var = 5; // изменяем глобальную переменную
    echo $var;
  }
  $var = 10;
  echo("$var<br>"); // выводит 10
  get_sum(); // выводит 5 (глобальная переменная изменена)
?>

Доступ к глобальным переменным можно получить также через ассоциативный массив $GLOBALS:

<?
  function get_sum()
  {
    $GLOBALS["var"] = 20; // изменяем глобальную переменную $var
    echo($GLOBALS["var"]);
  }
  $var = 10;
  echo("$var<br>"); // выводит 10
  get_sum(); // выводит 20 (глобальная переменная изменена)
?>

Массив $GLOBALS доступен в области видимости любой функции и содержит все глобальные перемене, которые используются в программе.

 
« Пред.   След. »

Голосование



Populiari trumpalaike automobiliu nuoma ilgam laikotarpiui