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.


 

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

32063. Совершенствование процедур банковского аудита в современных условиях 503 KB
  Основы и этапы возникновения специального банковского аудита [2. Основные этапы формирования и развития банковского аудита [2. Институциональные основы аудита банков в Российской Федерации [3] Глава 2. Совершенствование процедур банковского аудита в современных условиях [4.
32064. Анализ ликвидности и платёжеспособности ОАО «Промтехмонтаж» 565 KB
  Техникоэкономическая характеристика деятельности предприятия 2.2 Обеспеченность предприятия ОАО Промтехмонтаж трудовыми и материальными ресурсами 31 2.3 Основные финансовые и экономические показатели деятельности предприятия 36 Глава 3. Финансовое состояние проявляется в платежеспособности предприятия в способности вовремя удовлетворять платежные требования поставщиков в соответствии с хозяйственными договорами возвращать кредиты выплачивать заработную плату вносить платежи в бюджет.
32065. Разработка предложений по оптимизации структуры активов исследуемой организации 2.32 MB
  Целью данной выпускной квалификационной дипломной работы является разработка предложений по оптимизации структуры активов исследуемой организации. Для достижения поставленной цели необходимо решить следующий ряд задач: определить теоретические и методические подходы к оценке структуры активов организации: понятие сущность назначение активов организации; структуру активов организации методику оценки оптимальной структуры активов организации; оценить структуру активов организации на примере ОАО НГПЭ за 2006 2008 гг.; разработать...
32066. Оценка финансового состояния предприятия и разработка мероприятий по его улучшению (на примере ООО «Маркет-Сервис») 1.13 MB
  С его помощью вырабатывается стратегия и тактика развития предприятия обосновываются планы и управленческие решения осуществляется контроль их выполнения выявляются резервы повышения эффективности производства оцениваются результаты деятельности предприятия его подразделений и работников. Для обеспечения эффективной деятельности в современных условиях руководству необходимо уметь реально оценивать финансовоэкономическое состояние своего предприятия а также состояние деловой активности партнеров и конкурентов. Финансовое состояние...
32067. Исследование личностной и социальной идентичности в психологии 49 KB
  Агеев Белинская В психологии: Идентичность психологическое представление человека о своем Я; отождествление человеком самого себя частично осознаваемое неосознаваемое с теми или иными типологич. Социальная и личностная идентичность. Эриксон: идентичность возникающий на биологической основе продукт определенной культуры на становление влияют особенности культуры и возможности данного индивида. Идентичность формируется в процессе взаимодействия с социокультурным окружением поэтому важно чтобы ребенок общался со взрослыми с...
32068. Я-концепция Л и регуляции соц-ого поведения. Самоув и псих-е защиты 57 KB
  В 60е гг введение в обиход понятия идентичность помогло выйти из тупика т. идентичность задает дихотомию: социальное и личное есть место для 2х подходов. Он рассматривал идентичность как некоторую структуру состоящую из определенных элементов переживаемую субъективно как чувство тождественности и непрерывности собственной личности. Идентичность это сложное личностное образование имеющее многоуровневую структуру.
32069. Теоретические и эмпирические исследования социально-психологических свойств и типов личности 50 KB
  Теоретические и эмпирические исследования социальнопсихологических свойств и типов личности. Проблема выделения и изучения социальнопсихологических свойств личности. проблема: каков перечень социально психологических качеств свойств личности и каковы критерии для их выделения. Основа типологии отношение лти к соц.
32070. Большие социальные группы и методы их исследования 61 KB
  Большие социальные группы и методы их исследования. Большие соц группы общности людей отличаются от МГ наличием слабых постоянных контактов между всеми их представителями но объединенные не меньше и потому оказывают существенное влияние на общественную жизнь. Классификация: 2 больших класса: 1 случайно стихийно возникшие достаточно кратковременно существующие общности толпа масса неорганизованные; публика аудитория митинг полуорганизованные; 2 именно социальные группы т. группы сложившиеся в ходе исторического развития...
32071. Проблема малой группы в социальной психологии 59 KB
  Проблема малой группы в социальной психологии Проблема определения малой группы Само понятие группа возникло в середине 19 века когда начали изучаться отношения между людьми психология масс народов толпы а изучение малой группы началось с начала 20го века. Как минимум существует 4 группы определений малой группы: 1. любое количество лиц находящихся во взаимодействии друг с другом в виде одной непосредственной встречи или ряда встреч во время которых каждый член группы получает некоторое восприятие каждого другого члена группы....