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.


 

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

78311. НОРМИРОВАНИЕ ТОЧНОСТИ ДЕТАЛЕЙ, СОПРЯГАЕМЫХ С ПОДШИПНИКАМИ КАЧЕНИЯ 406 KB
  В подшипниках качения между поверхностью вращающейся детали и поверхностью опор располагаются шарики или ролики. Внутренний диаметр внутреннего кольца В ширина высота колец подшипника при одинаковой ширине наружного и внутреннего колец. Общий вид подшипника качения роликовый Класс точности подшипника характеризуется целым комплексом точностных требований относящихся к отклонениям размеров формы и расположения...
78312. ОБЕСПЕЧЕНИЕ ТОЧНОСТИ РАЗМЕРНЫХ ЦЕПЕЙ 312 KB
  Размерные цепи при образовании посадок: а для посадки с зазором; для посадки с натягом Если рассмотреть связи между размерами звеньев составляющих размерную цепь и замыкающим звеном можно увидеть особенность этих звеньев по которой все составляющие звенья цепи разделяются на увеличивающие и уменьшающие рис. необходимо решать вопрос о нормировании точности составляющих звеньев и точности замыкающего звена чтобы устройство образующее размерную цепь в виде отдельной детали или сборочной единицы выполняло свое служебное...
78313. Машины для соединения деталей и обработки узлов одежды физико-химическим и электро-физическим способами 19.28 KB
  Существует несколько видов сварки деталей из термопластичных одежных материалов. Разновидностью термоконтактного способа сварки является термоимпульсная сварка которая применяется для ПВХ и полиэтиленовых пленок. Оборудование при термоимпульсном способе сварки применяется в основном в виде прессов например УЗП2500 ДиЭлектро. Установки для ВЧ сварки включают в себя электроды механизм давления генератор ВЧ приборы контроля режима сварки и автоматического управления процессом.
78314. Дополнительные механизмы и устройства швейных машин 22.44 KB
  Приспособления для направления полуфабриката к иглам швейных машин в зависимости от типа шва выполняемого с их применением по классификации ЦНИИШП разбиты на 6 групп. В первую группу объединены приспособления для выполнения соединительных и отделочных швов без подгибания материалов. Во вторую третью и четвертую группы входят приспособления для выполнения таких швов где требуется подгибать один или несколько слоев материала. При этом во вторую группу входят приспособления где подгибание не связано с соединением деталей например...
78315. Классификация машин-полуавтоматов 24.31 KB
  Для пришивания пуговиц применяют полуавтомат с челночным и однониточным цепным переплетением ниток. Пришивание пуговиц с челночным переплетением ниток выполняют на машине 727 827 классов кроме того пришивание металлических крючков и петель на полуавтомате 53 класса и изготовление закрепок на машине 220М и 820 классов. Пришивание пуговиц однониточным цепным стежком выполняют на полуавтоматах...
78316. ПОЗНАВАТЕЛЬНЫЕ ПРОЦЕССЫ 175.5 KB
  Внимание сопровождает процессы восприятия памяти мышления и т. У дочеловеческих организмов есть только два вида памяти: генетическая и механическая. Человеку также присущи эти два вида памяти. Сохранить можно только то что запомнил а воспроизвести то что сохранил в памяти.
78317. ЭМОЦИОНАЛЬНО-ВОЛЕВАЯ СФЕРА ЛИЧНОСТИ 118 KB
  Эмоции и чувства. Он не только познает объективную и субъективную действительность но и как-то относится к предметам событиям другим людям к своей личности. Они образуют единую подструктуру личности ее эмоциональную сферу. Чувства являются ведущими образованиями эмоциональной сферы личности определяющие динамику и содержание эмоций.
78318. МОТИВАЦИЯ И НАПРАВЛЕННОСТЬ ЛИЧНОСТИ 87 KB
  Потребности как источник активности человека. Потребности как источник активности человека Понятие мотивации и потребностей. Многие психологи полагают что главной причиной активности является стремление человека удовлетворить свои потребности. Потребности это состояние индивида создаваемое испытываемой им нужды в объектах необходимых для его существования и развития.
78319. РЕЧЬ И ОБЩЕНИЕ 101 KB
  Понятие речи. Речь это особая и наиболее совершенная форма общения, свойственная только человеку. Она обладает огромными выразительными возможностями, которые передают психические переживания говорящего. С позиции психологии речь – это вынесенная во вне психика человека