Идентификаторы. Переменные объявленные пользователем. Присвоение значений переменным. Типы переменных

Идентификаторы

Идентификаторы представляют собой имена переменных. Использование идентификаторов регламентируется следующими правилами:

Переменные, объявленные пользователем

В добавление к переменным, передаваемым из HTML-формы, вы можете объявлять и использовать собственные переменные.

Одна из особенностей РНР заключается в том, что переменные не обязательно объявлять до того, как вы будите ими пользоваться. Переменная создается в момент первого присвоения ей значения.

Присвоение значений переменным

Значения переменным присваиваются с помощью операции присваивания =. На сайте компании АВС необходимо подсчитать общее количество единиц товара и общую сумму оплаты. Для хранения этих чисел имеет смысл создать две переменные. Для начала они инициализируются нулевыми значениями.

Добавим следующие строки в нижнюю часть нашего РНР-сценария:

$totalqty = 0;
$totalamount = 0.00;

Каждая из двух приведенных строк создает переменную и присваивает ей литеральное значение. Переменным можно присваивать также значения других переменных:

$totalqty = 0;
$totalqty = $totalamount;

Типы переменных

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

Типы данных РНР

РНР поддерживает следующие базовые типы данных:

Доступны также и два специальных типа — NULL и resource (ресурс). Переменные, которым не присвоено значения, которые не определены или принимают значение NULL, относятся к типу NULL. Некоторые встроенные функции (такие как функции работы с базами данных) возвращают переменные ресурсного типа. Такие переменные представляют внешние ресурсы.

РНР поддерживает также типы pdfdoc и pdfinfo, если установлена поддержка обработки PDF-документов.

Преимущества использования типов

Язык РНР является весьма слабо типизированным. В РНР тип переменной определяется типом присвоенного ей значения.

Например при создании переменных $totalqty и $totalamount их начальные типы были определены следующим образом:

$totalqty = 0;
$totalamount = 0.00;

Поскольку переменной $totalqty было присвоено целочисленное значение 0, эта переменная теперь имеет тип Integeкю Аналогично, переменная $totalamount имеет тип Float.

В сценарий можно поместить и такую строку:

$totalamount = 'Добро пожаловать!';

Теперь переменная имеет тип String. РНР в любой момент времени изменяет тип переменной в соответствии с хранящимися в ней данными.

Приведение типов

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

Например:

$totalqty = 0;
$totalamount = (float) $totalqty;

Вторая строка означает "Взять значение, хранящееся в переменной $totalqty, интерпретировать его как значение типа float и сохранить в переменной $totalamoun". Переменная $totalamoun получит тип float . Приведение типа не меняет тип исходной переменной, поэтому типом переменной $totalqty остается Integer.

Переменные переменных

РНР предоставляет в распоряжение разработчиков еще один тип переменных — так называемые переменные переменных. Переменные переменных позволяют динамически менять имена переменных.

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

Например:

$varname = "filtr";

Затем вместо $filtr можно использовать $$varname, например:

$$varname = 4;

Это эквивалентно:

$filtr = 4;

Данная особенность может показаться несколько запутанной. Позже мы вернемся к практическому использованию этой возможности.

назадвверхвперед
Rambler's Top100