Глобальные переменные в PHP

jQuery CookiesВ PHP существует несколько видов переменных – это глобальные и локальные. И многие начинающие программисты не понимают в чем их разница, поэтому в данной статье я попытаюсьвсе это на примерах объяснить.

Глобальные переменные – это переменные, которые доступны на протяжение всего скрипта, в том числе и в теле пользовательских функций.

Локальные переменные – это переменные, которые объявлены внутри функций и доступны они только там.

Итак, разберем первый пример:

<?php
$a = 10; // Глобальная переменная
function funcName() {
    $a = 5; // Локальная переменная
}
funcName();
echo $a; // Выведет 10
?>;

На выходе данный скрипт выведет 10, т.е. значение глобальной переменной $a. Хотя мы видим, что в теле функции объявлена локальная переменная с именем аналогичным глобальной переменной.  Но данная локальная переменная никакого отношения не имеет к глобальной. Эта локальная переменная будет доступна только внутри функции funcName().

Именно поэтому мы получили на выходе значение 10.

Если нам необходимо внутри функции изменить значение глобальной переменной, то для этого мы можем воспользоваться следующим кодом:

<?php
$a = 10; // Глобальная переменная
function funcName() {
    global $a;
    $a = 5; // Меняем значение глобальной переменной $a
}
funcName();
echo $a; // Выведет 5
?>;

В этом случае, мы внутри функции указали, перед переменной $a, зарезервированную команду global, тем самым мы получили доступ к глобальной переменной $a и внутри функции изменили ее значение на 5.

Также аналогично можно получить доступ к глобальным переменным с помощью суперглобального массива $GLOBALS.

Ниже приведен код, аналогичный второму примеру.

<?php
$a = 10; // Глобальная переменная
function funcName() {
    $GLOBALS['a'] = 5; // Меняем значение глобальной переменной $a
}
funcName();
echo $a; // Выведет 5
?>

Теперь благодаря данной статье, вы знаете отличие глобальных переменных от локальных и уже на практике сможете с ними работать.

Понравилась статья?

Тогда оставь свой комментарий или расскажи о ней своим друзьям и коллегам.

Комментарии ВКонтакте

Добавить комментарийОдин комментарий

azys 30 мая 2014 г. в 10:55

jasno skazano,spasibo

Ответить
Наверх

Скачивание материалов доступно
только подписчикам!

Если вы подпишитесь, то сможете сразу же получить доступ ко всем материалам этого блога

Подписка бесплатная и займет у вас
не более 1 минуты

Получение доступа к материалам

Для получения доступа, заполните форму ниже. Введите свое настоящее имя и e-mail

« Вернуться назад

Проверьте свой почтовый ящик

и подтвердите подписку

После этого вы сразу же получите доступ ко всем материалам этого блога

Введите e-mail, который вы указывали при подписке

Мы проверим его по базе подписчиков и если вы на самом деле подписывались, то доступ для вас сново будет открыт

« Вернуться назад