Конспект по начертательной
геометрии
Начертательная геометрия
Практикум решения задач
Геометрические основы
Инженерная графика
ЕСКД
Каталог графических примеров
Архитектура ЭВМ
Информатика и
информационные технологии
Конспект лекций по ядерной физике
ТОЭ
Физические законы механики
Волны оптика
Электротехника
Общая электротехника
Решение задач по
электротехнике
Язык программирования
MATLAB
Расчет электрических цепей
Моделирование цепей
переменного тока
Дифференциальные уравнения
Вычислительныe системы
Вычислительные комплексы
Электротехнические материалы
Теория конструктивных
материалов
Учебник PHP
Турбо Паскаль
Встроенный ассемблер
Turbo Vision
Java
Примеры программирования
на Java
Примеры скриптов
История искусства 18-19 век
Строковые значения

Строкой (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.

Начертательная геометрия и инженерная графика, перспектива