ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

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

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

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

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

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

  • Идентификаторы могут иметь любую длину и состоять из букв, цифр и символов подчеркивания.
  • Идентификаторы не могут начинаться с цифры.
  • В РНР идентификаторы чувствительны к регистру символов. Исключением из этого правила составляют встроенные РНР-функции — их имена могут быть представлены в любом регистре.
  • Переменные могут иметь те же имена, что и встроенные функции. Однако это может привести к путанице, поэтому подобных случаев следует избегать. Нельзя создавать функции, имена которых совпадают с именами других функций.

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

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

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

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

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

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

$totalqty = 0;
$totalamount = 0.00;

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

$totalqty = 0;
$totalqty = $totalamount;

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

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

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

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

  • Integer (целый) — используется для представления целых чисел.
  • Float, также называемый double (двойной точности) — используется для представления действительных чисел.
  • String (строковой) — используется для представления строк символов.
  • Boolean (булевский) — используется для хранения значений true (истина) и false (ложь).
  • Array (массив) — используется для хранения нескольких элементов данных.
  • Object (объект) — используется для хранения экземпляров классов.

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

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

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

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

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

$totalqty = 0;
$totalamount = 0.00;

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

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

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

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

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

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

Например:

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

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

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

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

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

Например:

$varname = "filtr";

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

$$varname = 4;

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

$filtr = 4;

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