Привет, Гость!
home login register
[+] Купить Рекламу
- Хостинг РѕС‚ 1$ Р·Р° 5Р“Р
Хостинг для тебя! Заходи не пожалеешь
Основные сервисы и быстрый поиск
Вступайте в нашу группу ВКОНТАКТЕ
Поздравляем, новичка с ID:1000
Как самомусделать QR-код
IT новости: в Windows новая опасная уязвимость Проблемы восприятия IT

Учебник PHP #2
1 2 3 ... 5 >>
Глава 2

Переменные и типы данных

Типы данных составляют основу любого языка программирования и являются средством, с помощью которого программист представляет разные типы информации. В РНР поддерживаются шесть основных типов данных:

целые числа;
вещественные числа;
строки;
массивы;
объекты;
логические величины.

Одним из столпов любого языка программирования является поддержка числовых данных. В РНР поддерживаются как целые, так и вещественные числа (двойной точности). Разные числовые форматы подробно описываются в следующих разделах.

Целые числа

Целое число не имеет дробной части и представляется последовательностью из одной или нескольких цифр. Примеры целых чисел:

5

591

52

Восьмеричная и шестнадцатеричная запись

В РНР поддерживается запись целых чисел в восьмеричной (по основанию 8) и шестнадцатеричной (по основанию 16) системах счисления. Восьмеричные числа начинаются с цифры 0, после которой следует серия цифр от 0 до 7. Примеры:

0422

0534

Шестнадцатеричные целые числа имеют префикс 0х или 0Х и могут состоять из цифр от 0 до 9 и букв от а (А) до f (F). Примеры:

0x3FF

0x22abc

Вещественные числа

Вещественные числа (числа с плавающей точкой) отличаются от целых наличием дробной части. Они используются для представления значений, требующих повышенной точности, — например, температур или денежных величин. В РНР поддерживаются два вещественных формата: стандартная и научная (экспоненциальная) запись.

Стандартная запись

Стандартная запись удобна для представления типичных вещественных чисел — скажем, денежных величин. Примеры:

12.45

98.6

Научная запись

Научная запись лучше подходит для представления очень больших и очень малых чисел — скажем, межпланетных расстояний или размеров атомов. Примеры:

Зе8

5.9736е24

Строковые значения

Строкой (string) называется последовательность символов, которая рассматривается как единое целое, но при этом обеспечивает доступ к отдельным символам. Примеры строк:

thesaurus

49ers

abc

&%/$#

Обратите внимание: в РНР не поддерживается символьный тип данных. Строковый тип может рассматриваться как единое представление для последовательностей, состоящих из одного или нескольких символов.

Строковое присваивание

Строки делятся на две категории в зависимости от типа ограничителя — они могут ограничиваться парой кавычек (" ") или апострофов (' '). Между этими категориями существуют два принципиальных различия. Во-первых, имена переменных в строках, заключенных в кавычки, заменяются соответствующими значениями, а строки в апострофах интерпретируются буквально, даже если в них присутствуют имена переменных,

Два следующих объявления дают одинаковый результат:

$food = "meatloaf";

$food = 'meatloaf';

Однако результаты следующих объявлений сильно различаются:

$sentence = "My favorite food is $food";

$sentence2 = 'My favorite food is $food';

Переменной $sentence присваивается строка

My favorite food is meatloaf.

Обратите внимание: переменная $food автоматически интерпретируется. С другой стороны, переменной $sentence2 присваивается строка

My favorite food is $food.

В отличие от переменной $sentence, в $sentence2 осталась не интерпретированная переменная $food. Различия обусловлены использованием кавычек и апострофов при присваивании переменным $sentence и $sentence2.

Прежде чем рассматривать второе фундаментальное различие между строками, заключенными в апострофы и в кавычки, необходимо познакомиться со служебными символами, используемыми в строках РНР. В РНР, как и в большинстве современных языков программирования, строки могут содержать служебные символы (например, символы табуляции или новой строки), перечисленные в табл. 2.1.

Таблица 2.1. Служебные символы в строках

Последовательность

Смысл
\n Новая строка
\r Возврат курсора
\t Горизонтальная табуляция
\\ Обратная косая черта
\$ Знак доллара
\" Кавычка
\[0-7]{1,3} Восьмеричная запись числа (в виде регулярного выражения)
\x[0-9A-Fa-f]{l,2} Шестнадцатиричная запись числа (в виде регулярного выражения)

Второе принципиальное различие заключается в том, что в строках, заключенных в кавычки, распознаются все существующие служебные символы, а в строках, заключенных в апострофы, — только служебные символы «\\» и «\». Следующий пример наглядно демонстрирует различия между присваиванием строк, заключенных в кавычки и апострофы:

$double_list = "item1\nitem2\nitem2";

$single_list = 'item1\nitem2\nitem2';

Если вывести обе строки в браузере, окажется, что строка в кавычках содержит внутренние символы новой строки, а в строке в апострофах последовательность \n выводится как обычные символы. Хотя многие служебные символы в браузерах несущественны, при форматировании для других условий они играют очень важную роль. Помните об этом, выбирая между кавычками и апострофами, и вам удастся избежать многих неожиданностей.

Синтаксис встроенной документации

Второй вариант синтаксиса ограничения строк, представленный в HTML4, называется встроенной документацией (here doc). В этом варианте синтаксиса строка начинается с символов <<<, за которыми следует некоторый идентификатор по вашему выбору, затем строка, присваиваемая переменной. Конструкция заканчивается вторым экземпляром того же идентификатора. Пример:

$paragraph = <<<DELIM

This is a string that

Will be interpreted exactly

As it is written in the

variable assignment,

DELIM;

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

Обращение к отдельным символам строк

К отдельным символам строки можно обращаться как к элементам массива с последовательной нумерацией (см. следующий раздел). Пример:

$sequence_number = "04efgh";

$letter = Ssequence_number[4];

Переменной $ letter будет присвоено значение g. Как вы узнаете из следующего раздела, в РНР нумерация элементов массивов начинается с 0. Соответственно, выражение $sequence_number[l] будет равно 4.

Массивы

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

Одномерные индексируемые массивы

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

Обобщенный синтаксис элементов одномерного массива:

$имя[индекс1];

Одномерные массивы создаются следующим образом:

$meat[0] = "chicken";

$meat[l] = "steak";

$meat[2]
Комментарии (0)
1 2 3 ... 5 >>
Скачать Java книгу

»php/mysql/pdo/js
В библиотеку

На главную

Сообщество wap разработчиков I HwapCMS официальный сайт поддержки


RSS-лента
Генерация: 0.1408 сек.