$GLOBALS - глобальная переменная
"глобальная переменная php $GLOBALS" и "глобальн
Как минимум есть два понятия "глобальных переменных" - давайте разбираться!
О глобальных переменных $GLOBALS в php:
- Что такое "Глобальная переменная"($GLOBALS)? Что такое $GLOBALS *RECURSION*?
- Пример использования глобальной переменной "$GLOBALS":
- Зачем нужна глобальная переменная "$GLOBALS":
- Глобальная переменная "global"
Что такое "Глобальная переменная"?
Чтобы начать, нам нужно дать определение : "Что такое Глобальная переменная ?"...
Глобальная переменная - это ассоциативный массив переменных, который доступен в любой точке сайта!
Глобальная переменная "$GLOBALS":
Вы можете посмотреть на глобальную переменную "$GLOBALS" - разместив данный код с использованием print_r на своем сайте:
Код получения и вывода глобальной переменной "$GLOBALS":
Здесь я данный код помещать не буду - потому, что это очень большой массив!
<?
echo '<pre>';
print_r( $GLOBALS );
echo '</pre>';
?>
Что такое $GLOBALS *RECURSION
Если вы смотрели глобальную переменную $GLOBALS то могли увидеть ячейку [RECURSION] :
Этот массив и все что ниже данной ячейки - это глобальные переменные, которые доступны у вас на сайте, т.е. это вами созданные переменные.
Пример использования глобальной переменной "$GLOBALS":
Рассмотрим пример глобальной переменной "$GLOBALS" *RECURSION, я создал переменную "$example_global_word" - которая доступна на всем сайте...
Данную переменную можно вывести двумя способами:
Обратившись напрямую к переменной:
И второй вариант - возьмем эту переменную из глобальной переменной:
Получим... соответственно точно такой же результат:
Зачем нужна глобальная переменная "$GLOBALS"
Выше я показал один из примеров использования "глобальной переменной" - давайте рассмотрим второй "очень простой" пример использования "глобальных переменных"...
Для сравнения создадим две функции:
1 ). Использование глобальных переменных в функции:
Выше приведенном примере я использовал переменную "$example_global_word", которая доступна на всем сайте... используем её внутри функции и проверим с помощью условия (if) - есть ли данная переменная, если есть выводим её значение:
Если нет, то выводим:
Пример вывода простой перменной внутри функции:
<?
function example() {
if($example_global_word) return print_r( $example_global_word , true);
else return 'Я не смог получить $example_global_word';
}
echo example();
?>
Ожидаемо, что вернулся отрицательный ответ, потому, что внутри функции эта переменная не существует - эта тема "видимости переменных".
2 ). Использование глобальных переменных в функции:
Теперь повторим всё тоже самое, что было описано выше, но только используем глобальную переменную:
Пример использования глобальной переменной внутри функции:
<?
function example_0() {
if($GLOBALS ['example_global_word']) return $GLOBALS ['example_global_word'];
else return 'Я не смог получить $GLOBALS ['example_global_word']';
}
echo example_0();
?>
Ожидаемо, что внутри функции глобальная переменная существует....
Глобальная переменная "global"
Если вам по какой-то причине не нравится использования глобальной переменной внутри функции(что было описано выше...), то вы можете из непременной сделать глобальную внутри функции с помощью слова "global".
Используем ту же переменную и тот же код функции, что я показывал выше пунктом, но только добавим туда вот такую конструкцию:
Использование global внутри функции:
Наша функция немного изменилась:
<?
function example_1() {
global $example_global_word;
if($example_global_word) return print_r( $example_global_word , true);
else return 'Я не смог получить $example_global_word';
}
?>
Выведем с помощью echo:
<?
echo example_1();
?>
И тут опять... ожидаемо, что внутри функции глобальная переменная существует....