Переменные. Термин идентификатор применяется к переменным, функциям и другим объектам, определяемым пользователем
Термин идентификатор применяется к переменным, функциям и другим объектам, определяемым пользователем. Идентификаторы должны удовлетворять нескольким условиям: состоит из одного или нескольких символов и начинается с буквы или символа подчеркивания. Идентификатор может содержать только латинские буквы, цифры, символы подчеркивания и другие ASCII-символы с кодами от 127 до 255. В идентификаторах учитывается регистр символов. Длина идентификаторов не ограничивается. Идентификатор не может совпадать с каким-либо из стандартных ключевых слов РНР.
Имена переменных являются идентификаторами и начинаются со знака доллара ($). Переменные в РНР. Переменная объявляется при первом ее использовании в программе. Более того, тип переменной косвенно определяется по типу хранящихся в ней данных. Переменные могут объявляться в любой точке сценария РНР, однако от расположения объявления зависит то, откуда можно обращаться к данной переменной.
Область видимости переменных определяется как область доступности переменной в той программе, в которой она была объявлена. В зависимости от области видимости переменные РНР делятся на четыре типа.
1) Локальные - переменная, объявленная внутри функции и на нее можно ссылаться только в этой функции. При выходе из функции, в которой была объявлена локальная переменная, эта переменная и ее значение уничтожаются.
2)Параметры функций - должны быть объявлены в заголовке функции
Параметры объявляются в круглых скобках после имени функции. Объявление параметров практически не отличается от объявления типичной переменной:
// Функция умножает переданное значение на 10 и возвращает результат
function x10 ($value) { $value = $value * 10; return $value;}
После завершения функции параметры уничтожаются.
3) Глобальные - переменные доступны в любой точке программы. Но чтобы изменить значение глобальной переменной, необходимо специально объявить ее как глобальную в соответствующей функции. Для этого перед именем переменной ставится ключевое слово GLOBAL. Пример:
$somevar = 15;
function addit() { GLOBAL $somevar; $somevar++; }
addit(); print "Somevar is $somevar";
Будет выведено значение $somevar, равное 16. Если удалить строку:
GLOBAL $somevar, то будет выведено значение 1.
Альтернативный способ объявления глобальных переменных связан с использованием массива РНР $GLOBALS( ).
Приведем предыдущий пример с использованием этого массива.
function addit() { $GLOBALS["somevar"]; $somevar++; }
addit(); print "Somevar is $somevar";
4) Статические - статическая переменная сохраняет свое значение при повторном вызове. Для объявления статической переменной перед ее именем ставится ключевое слово STATIC (STATIC $somevar;).
РНР определяет текущий тип переменной по началу ее значения.
Явное приведение переменной к типу, отличному от того, который изначально предназначался для нее, называется преобразованием типа. Изменение типа может быть как временным, одноразовым, так и постоянным. Чтобы временно привести переменную к другому типу, достаточно воспользоваться оператором преобразования типа — указать нужный тип перед именем переменной в круглых скобках: int - целое число; real, double или float - вещественное число; string – строка; array – массив; object – объект. Преобразование вещественного типа к целому всегда сопровождается округлением.
Любой тип данных можно преобразовать в объект. Переменная становится атрибутом объекта, и ей присваивается имя scalar:
$model = "Toyota"; $new_obj = (object) $model;
Ссылка на исходное строковое значение выглядит так: print $new_obj->scalar;
Операция присваивания обозначается символом равенства (=). В некоторых ситуациях бывает удобно использовать переменные, содержимое которых может динамически интерпретироваться как имя другой переменной.
В РНР поддерживается ряд стандартных переменных, предоставляющих в распоряжение программиста довольно подробную информацию о внутренней конфигурации. Чтобы получить полный список переменных web-сервера, окружения и РНР, определенных для вашей конфигурации системы, достаточно выполнить следующий фрагмент:
while (list($var,$value) = each($GLOBALS)) echo "<BR>$var => $value";
Можно вывести любую из этих переменных по имени. Например, следующая команда выводит IP-адрес пользователя:
print "Привет! Ваш IP адрес есть: $REMOTE_ADDR";
IP-адрес выводится в числовой форме (например, 208.247.106.187).
Константой называется именованная (в именах констант не указывается знак доллара) величина, которая не изменяется в процессе выполнения программы. Константы особенно удобны при работе с заведомо постоянными величинами — например, числом π (3,141592) или количеством футов в миле (5280). В РНР константы определяются функцией define( ). После того как константа будет определена, вы не сможете изменить или переопределить ее в этой программе.
Пример.
define("PI", "3.141592");
print "Значении pi есть". PI."<br>";
2.3. Выражения, операции и операторы
Дата добавления: 2015-04-15; просмотров: 1178;