69692

Локальні і глобальні змінні

Доклад

Информатика, кибернетика и программирование

Локальні змінні доступні тільки у функції а глобальні доступні у всій програмі. Локальні і глобальні змінні Змінні i і g глобальні вони доступні у всій програмі. Для передачі глобальних змінних у функцію використовується інструкція...

Украинкский

2014-10-08

53.5 KB

2 чел.

Тема 20: Локальні і глобальні змінні

Ми неодноразово стикалися в цій книзі з локальними і глобальними змінними. Локальні змінні доступні тільки у функції, а глобальні — доступні у всій програмі. Вони доступні всім функціям. У лістингу 8.5 приведений невеликий приклад:

Лістинг 8.5.Использование глобальних і локальних змінних

$i   =   10;

$g   =   7;

function fl ()

{

$x = 5;

5i = 0; global $g;

echo "g = $g\n"; echo "i = $i\n";

fi();

echo "$x\n";

Мал. 8.3. Локальні і глобальні змінні

Змінні $i і $g — глобальні, вони доступні у всій програмі. Для передачі глобальних змінних у функцію використовується інструкція global:

global   список   змінних

Якщо ми не виконаємо цю інструкцію, наша функція не дістане доступ до змінній $g. Звернете увагу на дві змінні $i: одна з них глобальна, а інша — локальна (у тілі функції).

У функції використовуватиметься локальна змінна, проте, якщо ми оголосимо змінну глобальної:

global   $g,   $i;

то використовуватиметься значення глобальної змінної. Спробуйте змінити функцію  fl (див. перед. лістинг 8.5) так (див. лістинг 8.6):

Лістинг 8.6. Некоректне використання глобальних і локальних змінних

<?

$i   =   10; $g   =   7;

function   fl () {

$i = 5;

echo $i;   // виведе 5

global $i;

echo $i;   // виведе 10

} fl();

?>

Змінна $х є локальною і недоступна в основній програмі, тому ми отримаємо повідомлення про те, що дана змінна не визначена (див. мал. 8.3).

Якщо функція змінить значення глобальної змінної, то значення змінної буде змінено і в основній програмі.

Приклад:

<?

$g   =   5;

function   fl()     {    global    $g;    $g   »   10;    );

fl();

echo   $g;    //   виведе   10

?>

Ми вже говорили про масив SGLOBALS, тому я не стану повторюватися, а лише скажу, що локальні змінні функцій не є елементами даного масиву.

8.7. Статичні змінні

Окрім локальних і глобальних змінних, в PHP існує ще один тип змінних — статичні. Якщо в тілі функції оголошена статична змінна, то компілятор її не видалятиме після завершення роботи функції. Наступний приклад демонструє роботу із статичною змінною:

<?

function   fl()    (   static   $x;   $x++;   echo   "Sx   ";    }

for    ($i=0;    $i++<5;    )    fl();

?>

Наступний сценарій виведе рядок 1 2 3 4 5. Якщо видалити інструкцію static, буде виведений рядок 1 1 1 1 1, тому що змінна $х віддалятиметься при завершенні роботи функції і обнулятиметься при кожному її виклику. Чому 1 1 1 1 1, а не 0 0 0 0 0? Змінна $х инкре-ментируется відразу після обнулення, а тільки потім виводиться. Статичні змінні не є елементами SGLOBALS.


 

А также другие работы, которые могут Вас заинтересовать

21626. Создание списка в Word 538 KB
  Оформление нумерованных списков При оформлении нумерованных списков следует иметь в виду что элементом списка может быть только абзац. Для создания простейшего нумерованного списка надо выделить нумеруемые абзацы и нажать кнопку Нумерованный список по умолчанию панели инструментов Форматирование рис. Создание простейшего нумерованного списка Для оформления нумерованного списка выполните команду Формат Список или команду Список контекстного меню.
21627. Создание и оформление таблиц в Word 1.13 MB
  Представлены способы создания таблиц добавления и удаления столбцов и строк таблицы. Общие сведения о таблицах Таблицы в документах Microsoft Word используют большей частью для упорядочивания и представления данных. В таблицах можно производить вычисления таблицы можно использовать для создания бланков документов. Для работы с таблицами используют команды меню Таблица элементы панелей инструментов Стандартная Форматирование Таблицы и границы и Базы данных рис.
21628. Создание теста документа в MS Word 586 KB
  Представлены приемы использования табуляции при создании текста документа. Использование табуляции О табуляции Табуляция используется для выравнивания текста в пределах строки. Позиции табуляции позволяют перемещать курсор по строке клавишей клавиатуры Tab на определенные расстояния от левого поля. В Microsoft Word всегда есть позиции табуляции установленные по умолчанию.
21629. Двигательные нарушения при ДЦП 51 KB
  Существует условное деление мышц на тонические обеспечивающие поддержание поз и фазические осуществляющие динамические движения. Разные функции мышц обеспечиваются составом входящих в мышцу разных двигательных единиц ДЕ. Преобладание быстрых ДЕ обеспечивает динамические движения например двуглавая и трехглавая мышцы плеча при баллистических движениях.
21630. Понятие о ДЦП: эпидемиология, классификация, этиология 44 KB
  Семеновой 1999 ДЦП на территории России в 1962 году составлял 04 случая на 1000 детского населения а в 1992 9 случаев на 1000 детского населения. В Украине как и во всем мире также растет численность детей страдающих ДЦП. ДЦП описан еще в трудах Гиппократа и К.
21631. Адаптивное физическое воспитание детей с ДЦП 153.5 KB
  Второй период реализуется в дошкольных учреждениях компенсирующего и комбинированного вида имеющих специализированные группы детей с ДЦП. Понятие о ДЦП: эпидемиология классификация этиология ДЦП органическое поражение мозга возникающее в период внутриутробного развития в родах и в период новорожденности и сопровождающееся двигательными речевыми и психическими нарушениями.Семеновой 1999 ДЦП на территории России в 1962 году составлял 04 случая на 1000 детского населения а в 1992 9 случаев на 1000 детского населения.
21633. Двигательная реабилитация детей с ДЦП 47.5 KB
  ЛФК проводят в дошкольном возрасте от 3 до 7 лет в детских садах в форме малогрупповых занятий от 3 до 5 раз в неделю по 1530 минут. Специалисту по ЛФК необходимо знать методы и принципы последовательности формирования двигательных навыков ребенка с ДЦП. В занятиях ЛФК используют как статические так и динамические дыхательные упражнения в разных исходных положениях с разным темпом ритмом с акцентом на вдох или выдох с использованием различных предметов надувание шариков пускание мыльных пузырей игра на духовых инструментах и пр.
21634. Фазированные антенные решетки 52.5 KB
  Если на первых этапах развития антенна должна была обеспечить эффективное излучение и прием то потом от антенны потребовалось значительное усиление получаемое за счет направленности действия. С появлением радиосистем локации навигации и управления приемные антенны стали осуществлять пеленгацию т. Помеховая обстановка непрерывно меняется поэтому потребовались самоприспосабливающиеся антенны адаптивные.