PHP скрипты

MySQL

Apache

phpMyADmin

7.5: Время жизни переменных в PHP

Главная Страница » Книги по PHP » Самоучитель PHP 5 для чайников с примерами » Время жизни переменных

Такое понятие, как время жизни переменных, тоже очень распространено в программировании. Например, время жизни глобальных переменных начинается с того момента, как их объявили, и заканчивается в двух случаях. Либо их уничтожили непосредственно в программе, например с помощью функции unset(), либо завершилась работа сценария (листинг 7.11).

Листинг 7.11. Удаление переменных.

‹html›
‹head›
‹title›Удаление переменных‹/title›
‹/head›
‹body›
‹?php
$global_var = 1;
unset($global_var);
echo $global_var;
?›
‹/body›
‹/html›

В результате программа выводит пустую строку, так как функция unset() уничтожает переменную $global_var.

Иначе дело обстоит с локальными переменными, так как время их жизни напрямую зависит от продолжительности выполнения пользовательской функции. Однако встречаются такие ситуации, когда нужно сохранять значения локальных переменных. Для этого применяют специальный оператор static (листинг 7.12).

Листинг 7.12. Использование статических переменных.

‹html›
‹head›
‹title›Использование статических переменных‹/title›
‹/head›
‹body›
‹?php
function print_msg($msg)
{
  static $num = 1;
  echo $num .") ". $msg . "‹br›";
   $num++;
}
print_msg("Начало установки программы");
print_msg("Продолжение установки программы");
print_msg("Завершение установки программы");
?›
‹/body›
‹/html›

Результат выполнения этой программы смотрите на рис. 7.3.

Использование статических переменных в PHP

Из примера видно, что переменная $num определяется один раз при первом вызове и не уничтожается после завершения работы функции, так как во втором вызове мы имеем дело со значением предыдущего вызова.

Поделиться с друзьями