|
|
|
Основы языка программирования РНР 5
XML и веб-сервисы
Безопасный офис
Защита от копирования и методы ее взлома
История PHP
Корпоративная информационная система
Новое в PHP5
Основные типы данных PHP
Основы языка программирования РНР 5
Программистские байки
Торговая информационная система
|
Действия с переменными
Комментарии
Косвенные ссылки на переменные
Переменные
Порядок внедрения кода PHP в HTML страницы
Суперглобальные переменные
Переменные в РНР, языке со слабой типизацией., в корне отличаются от переменных в компилируемых языках программирования, таких как С++ или Java. В РНР не надо заранее объявлять переменные или указывать их тип, и как результат переменная может изменять свой тип во время исполнения программы настолько часто, насколько это потребуется. Имена переменных должны начинаться с символа $, за которым, как и в большинстве современных языков программирования, обязательно должен следовать алфавитный символ (A-Za-z) или символ подчеркивания (_), и могут состоять из любого количества алфавитно-цифровых символов и символов подчеркивания. Ниже приводятся примеры допустимых имен переменных: $count $_0bj $А123 И недопустимых: $123 $*АВС Как уже говорилось, не надо заранее объявлять переменные или указывать их тип. Вот пример использования переменных: $Р1 = 3.14; $radius ~ 5; Scircumference = $PI * 2 * $radius; // Длина окружности = к * d Как видите, ни одна переменная не была объявлена заранее. Кроме того, переменная $Р1 фактически хранит число с плавающей точкой, а переменная $radius - целое число, хотя нигде предварительно не был указан тип этих переменных. В отличие от большинства языков программирования, в РНР отсутствуют глобальные переменные (за исключением некоторых специальных предопределенных переменных, но об этом мы поговорим немного позднее). Переменные определены только в пределах своей области видимости. Так, если переменная была создана внутри функции, то доступ к ней можно получить только в пределах этой функции во время выполнения последней. Переменные, созданные в теле сценария (за пределами какой-либо функции), также не являются глобальными - они недоступны из функций, хотя есть возможность обратиться к ним через специальный массив $GL0BALS[], в котором имена переменных выступают в качестве индекса. Объявив этот массив, можно переписать предыдущий пример так: $Р1 = 3.14; $radius = 5; $circumference = $GLOBALS["PI"] * 2 * $GL0BALS["radius"]; // Длина окружности = к * d Вероятно, вы уже догадались, что массив $GL0BALS[ ] может без ограничений использоваться и в глобальной области видимости (в данном примере мы обошлись без функций), хотя в этом случае теряются все преимущества.
|
|
|
|