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

May 4, 2010 by admin Комментировать »

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

<?php

function static_deino () { $var = 0;

echo $var "<br>"; $var++;

)

static_demo () ; static_deino () ; static_deino () ; ?> »

Bee три вызова функции static_demo{) приведут к выводу на экран трех ну­лей, даже несмотря на наличие в теле функции оператора инкремента ($var++), так как при каждом новом вызове функции она ничего не будет помнить о своей предыдущей работе и снова присвоит переменной $var значение 0. Исходя из принципа обособленности функций, такое положение дел является правильным, несмотря на свой ограничивающий характер. Но РНР, как и во многих других слу­чаях, позволяет программисту самостоятельно решить, как будет себя вести про­грамма.

По аналогии с ключевым словом GLOBAL, можно использовать ключевое слово static перед объявлением переменной внутри функции, и тогда функция при сле­дующем вызове "вспомнит" предыдущее значение переменной и будет оперировать им. Немного усовершенствуем предыдущий пример.

<?php

function static_deino () { static $var = 0; echo $var "<br>"; $var++;

}

static_demo(); static_deino () ; static_deino () • ?>

Теперь вместо трех нулей на экране появятся цифры 0. 1. 2. При первом вызове функции static_demo () переменной $var будет присвоено значение О и при сле­дующих вызовах интерпретатор определит, что переменная $var уже существует, и продолжит работу с ее прежним значением.

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты