PC FAQ





Главная Delphi PHP Контакты

Последние статьи
Популярное
  • Обзор Палитры Компонент
    В данной статье дается обзор стандартных и дополнительных компонент из Палитры Компонент Delphi (ст
  • Основы работы с базами данных
    В этом уроке описываются основы работы с базами данных. Напомним, что под базой данных понимается н
  • DDE Delphi
    В данной статье приводятся основные факты о DDEML и показывается, как можно использовать DDE в п
  • Логические величины (истина/ложь)
    Логический тип данных принимает всего два значения: истинное (true) и ложное (false). Логические в
  • Переменные
    В примерах, приведенных выше, я попутно показал, как происходит присваивание и изменение значений
  • Объект TOLEContainer
    Из статьи Вы узнаете основные сведения об OLE, некоторые вещи относительно OLE 2 и OLE Automation
  • Строковые значения
    Строкой (string) называется последовательность символов, которая рассматривается как единое целое,
  • Массивы
    Массив представляет собой список однотипных элементов. Существует два типа массивов, различающи
  • Печать текстовая и графическая
    Если Вам нужно напечатать на принтере документ в текстовом режиме, то это делается следующим образо
  • Управление проектом
    Проект Delphi Любой проект имеет, по-крайней мере, шесть файлов, связанных с ним. Три из них отн
Строковые значения

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






ГлавнаяОбратная связьDelphiPHP