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.


 

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

16715. ПРОБЛЕМЫ ПЕРЕХОДА ОТ ФИНАНСОВОГО КОНТРОЛЯ К АУДИТУ ЭФФЕКТИВНОСТИ ДОЛГОВЫХ ОБЯЗАТЕЛЬСТВ 77.7 KB
  Л. Брагинская ПРОБЛЕМЫ ПЕРЕХОДА ОТ ФИНАНСОВОГО КОНТРОЛЯ К АУДИТУ ЭФФЕКТИВНОСТИ ДОЛГОВЫХ ОБЯЗАТЕЛЬСТВ. В стратегических документах Правительства Российской Федерации определяющих долговую политику страны говорится о том что в целях повышения эффективности долг...
16716. Economics in China 21.96 KB
  Economics in China. The official support of a marketbased economy that came from Deng Xiao Ping in 1992 has resulted in a more open system of trade for China and subsequently a huge growth spurt in China's economy. The economic reforms which Deng instigated culminated in a socialist market economy a term which was actually incorporated into the Chinese constitution during the National People's Congress in March 1993. Since that time China's economy has experienced a substantial boost in...
16717. Planned economy 41.9 KB
  Planned economy This article is about an economic system controlled or directed by the state. For proposed economic systems that employs participatory or democratic planning Planned economy or command economy is an economic system in which the state directs the economy.[1] It is an economic system in which the central government controls industry such that it makes major decisions...
16718. ДОБЫЧА ЗОЛОТА МЕТОДАМИ ГЕОТЕХНОЛОГИИ 109.5 KB
  Геотехнология определяется как метод добычи цветных, редких и благородных металлов путем их избирательного растворения химическими реагентами на месте залегания и последующего извлечения образованных в зоне реакций
16719. Бактериальное выщелачивание 40 KB
  Бактериальное выщелачивание избирательное извлечение химических элементов из многокомпонентных соединений посредством их растворения микроорганизмами в водной среде. Благодаря Б. в. появляется возможность извлекать из руд отходов производства и т. д. ценные...
16720. Влияние вторичных процессов на извлечение золота при сорбционном выщелачивании 53.5 KB
  УДК.669.21/23 Влияние вторичных процессов на извлечение золота при сорбционном выщелачиванииКустова Л.А. начальник ЦЗЛ ГМЗ2 Центрального рудоуправления НГМК; Коротовских Г.А. зам. начальника ЦЗЛ ГМЗ2 Центрального рудоуправления НГМК Золотосодержащие руды отличаются бо...
16721. Влияние концентрации цианистого натрия и тонины помола на извлечение золота и серебра из пульпы 65.5 KB
  УДК 622 Влияние концентрации цианистого натрия и тонины помола на извлечение золота и серебра из пульпыДубов А.А. начальник цеха сорбции и регенерации ГМЗ2 Центрального рудоуправления НГМК С момента пуска Гидрометаллургического завода № 2 НГМК в эксплуатацию на нем с
16722. ВОЗМОЖНОСТИ ГРАВИТАЦИОННОГО ОБОГАЩЕНИЯ УПОРНЫХ ПРОМПРОДУКТОВ ЗОЛОТОИЗВЛЕКАТЕЛЬНЫХ ФАБРИК 84.5 KB
  ВОЗМОЖНОСТИ ГРАВИТАЦИОННОГО ОБОГАЩЕНИЯ УПОРНЫХ ПРОМПРОДУКТОВ ЗОЛОТОИЗВЛЕКАТЕЛЬНЫХ ФАБРИК Евтушенко М.Б. ОOО НТЦ Магнитные жидкости Посысоева Д.С. МГГУ Упорными промпродуктами золотоизвлекательных фабрик ЗИФ являются хвосты доводки гравиоконцентратов пред...
16723. ВОЗМОЖНОСТИ И ПЕРСПЕКТИВЫ ПРОМЫШЛЕННОГО ИСПОЛЬ-ЗОВАНИЯ НЕЦИАНИСТЫХ РАСТВОРИТЕЛЕЙ ЗОЛОТА И СЕРЕБРА 93.5 KB
  ВОЗМОЖНОСТИ И ПЕРСПЕКТИВЫ ПРОМЫШЛЕННОГО ИСПОЛЬЗОВАНИЯ НЕЦИАНИСТЫХ РАСТВОРИТЕЛЕЙ ЗОЛОТА И СЕРЕБРА Современная металлургия золота основана на использовании цианистого процесса который успешно применяется в мировой практике уже более 115 лет обеспечивая получен...