Відмінності між версіями «Локальні та глобальні»
(Створена сторінка: ''Variable scope'' <br> Англійський термін, винесений в заголовок перекладається на український я…) |
|||
Рядок 43: | Рядок 43: | ||
− | [[category:Інтернет-програмування]] | + | [[category:Інтернет-програмування|*]] |
+ | |||
+ | [[category:Навчальні проекти]] |
Поточна версія на 07:39, 25 травня 2010
Variable scope
Англійський термін, винесений в заголовок перекладається на український як “область видимості змінної”. Під цим терміном мається на увазі те, що будь-яка змінна, описана в програмі має свою зону видимості, іншими словами якщо змінна описана в якомусь місці програми, то це зовсім не означає, що вона автоматично стає видимою в будь-якому іншому місці цієї програми. В PHP із цього приводу є свої особливості. “Найдивніша” річ, з якою стикається людина при знайомстві з PHP це те, що змінна, описана поза функцією невидима всередині неї! У інших мовах програмування ми звикли до того, що глобальні змінні програми видно скрізь, але в PHP це не так. Але поглянувши на це “дивацтво” уважніше можна відмітити, що вона має більше вигоди, ніж незручностей, оскільки є свого роду “захисним механізмом”, який не дозволить вам випадково переплутати локальну і глобальну змінну, що часом приводить до дуже тяжких наслідків. Як же дістати доступ до глобальних змінних з функції?
Є 2 способи зробити це:
1. Використовувати суперглобальний асоціативний масив $GLOBALS. Це єдина змінна в PHP, яка видима звідусіль і яка містить в собі всі глобальні змінні, наявні в програмі. Якщо ви усередині функції звертаєтеся до змінної $variable – то це ви звертаєтеся до локальної змінної, а якщо $GLOBALS[’variable’] - то до глобальної.
function myfunction() { $variable = 5; // Присвоюємо значення локальної змінної
$GLOBALS[variable] = 10; // Присвоюємо значення глобальної змінної };
2. Використовувати ключове слово global. Воно дозволить вам задати список глобальних змінних, які будуть видимі всередині функції:
function myfunction() {
global $variable; // Присвоюємо значение глобальній змінній
$variable = 10;
};
Перейти до Змінні та типи данних в PHP