ЛУЧШИЙ САЙТ ДЛЯ ВЕБ-РАЗРАБОТЧИКОВ

PHP Учебник

PHP СТАРТ PHP Интро PHP Установка PHP Синтаксис PHP Комментарии PHP Переменные PHP Echo / Print PHP Типы данных PHP Строки PHP Числа PHP Математика PHP Константы PHP Операторы PHP If...Else...Elseif PHP Switch PHP Циклы PHP Функции PHP Массивы PHP Суперглобальные PHP RegEx

PHP Формы

PHP Обработка формы PHP Проверка формы PHP Обязательные поля формы PHP Форма URL/E-mail PHP Заполнение формы

PHP Расширенный

PHP Дата и время PHP Подключение файлов PHP Обработка файлов PHP Файл открыть/читать PHP Файл создать/записать PHP Файл Загрузить PHP Куки PHP Сессии PHP Фильтры PHP Расширенные фильтры PHP Callback функции PHP JSON PHP Исключения

PHP ООП

PHP Что такое ООП PHP классы/объекты PHP Конструктор PHP Деструктор PHP Модификаторы доступа PHP Наследование PHP Константы PHP Абстрактные классы PHP Интерфейсы PHP Трейты PHP Статические методы PHP Статические свойства PHP Пространства имён PHP Итерации

MySQL База данных

MySQL База данных MySQL Подключение MySQL Создать БД MySQL Создать таблицы MySQL Вставить данные MySQL Получить последний ID MySQL Вставить несколько записей MySQL Подготовленные инструкции MySQL Выбрать данные MySQL Where MySQL Order By MySQL Удаление данных MySQL Обновление данных MySQL Ограничение данных

PHP XML

PHP XML Парсеры PHP SimpleXML Парсер PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Интро AJAX PHP AJAX База данных AJAX XML AJAX Живой поиск AJAX Опрос

PHP Примеры

PHP Примеры PHP Компилятор PHP Викторина PHP Упражнения PHP Сертификат

PHP Справочник

PHP Обзор PHP Массив PHP Календарь PHP Дата PHP Каталог PHP Ошибка PHP Исключение PHP Файловая система PHP Фильтр PHP FTP PHP JSON PHP Ключевые слова PHP Libxml PHP Почта PHP Математика PHP Разное PHP MySQLi PHP Сеть PHP Output Control PHP RegEx PHP SimpleXML PHP Поток PHP Строка PHP Обработка переменных PHP XML Парсер PHP Zip PHP Часовые пояса

PHP. Уроки для начинающих

PHP Область действия переменных


PHP Область действия (применения) переменных

В PHP переменные можно объявлять в любом месте скрипта.

Область действия переменной - это часть скрипта, где на переменную можно ссылаться/использовать.

В PHP есть три различных области действия переменных:

  • local - локальная
  • global - глобальная
  • static - статическая

Глобальная и локальная область действия

Переменная, объявленная вне функции, имеет ГЛОБАЛЬНУЮ ОБЛАСТЬ ДЕЙСТВИЯ, и к ней можно получить доступ только вне функции:

Пример

Переменная с глобальной областью действия:

<?php
$x = 5; // глобальная область

function myTest() {
  // использование x внутри этой функции вызовет ошибку
  echo "<p>Переменная x внутри функции: $x</p>";
}
myTest();

echo "<p>Переменная x вне функции: $x</p>";
?>
Попробуйте сами »

Переменная, объявленная внутри функции, имеет ЛОКАЛЬНУЮ ОБЛАСТЬ ДЕЙСТВИЯ, и к ней можно получить доступ только внутри этой функции:

Пример

Переменная с локальной областью действия:

<?php
function myTest() {
  $x = 5; // локальная область
  echo "<p>Переменная x внутри функции: $x</p>";
}
myTest();

// использование x вне функции вызовет ошибку
echo "<p>Переменная x вне функции: $x</p>";
?>
Попробуйте сами »

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


PHP Ключевое слово global

Ключевое слово global используется для доступа к глобальной переменной из функции.

Для этого используйте ключевое слово global перед переменными (внутри функции):

Пример

<?php
$x = 5;
$y = 10;

function myTest() {
  global $x, $y;
  $y = $x + $y;
}

myTest();
echo $y; // выведет 15
?>
Попробуйте сами »

PHP также хранит все глобальные переменные в массиве с именем $GLOBALS[index]. Массив index содержит имя переменной. Этот массив также доступен из функций и может использоваться для непосредственного обновления глобальных переменных.

Пример выше можно переписать так:

Пример

<?php
$x = 5;
$y = 10;

function myTest() {
  $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // выведет 15
?>
Попробуйте сами »

PHP Ключевое слово static

Обычно, когда функция завершается / выполняется, все её переменные удаляются. Однако иногда необходимо, чтобы локальная переменная НЕ удалялась. Это необходимо для дальнейшей работы.

Для этого используйте ключевое слово static при первом объявлении переменной:

Пример

<?php
function myTest() {
  static $x = 0;
  echo $x;
  $x++;
}

myTest();
myTest();
myTest();
?>
Попробуйте сами »

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

Примечание: Переменная по-прежнему является локальной для функции.


PHP Упражнения

Проверьте себя с помощью упражнений

Упражнение:

Создайте переменную с именем txt и присвойте ей значение "Hello".

 = "";