| ||||||||||||||||||||||||||||||
Строкиstring это серия символов. В PHP символ это то же самое, что и байт, то есть имеется точно 256 различных возможных символов. Это также предполагает, что в PHP нет встроенной поддержки Unicode.
СинтаксисСтроковой литерал может специфицироваться тремя способами. Одинарные кавычкиПростейший способ специфицировать строку - заключить её в одинарные кавычки (символ '). Для специфицирования литеральной одинарной кавычки вам нужно мнемонизировать/escape её с помощью backslash (\), как во многих других языках. Если backslash должен появиться перед одинарной кавычкой или в конце строки, нужно его удвоить. Обратите внимание, что если вы захотите мнемонизировать любой другой символ, backslash также будет напечатан! Поэтому обычно нет необходимости мнемонизировать сам backslash.
Двойные кавычкиЕсли строка заключена в двойные кавычки ("), PHP понимает б́ольшее количество escape-последовательностей (мнемоник) специальных символов: Таблица 6-1. Мнемоники символов
Ещё раз напоминает, что если вы захотите мнемнонизировать любой другой символ, backslash также будет напечатан! Но самым важным свойством строки, заключённой в двойные кавычки, является то, что имена переменных разворачиваются. См. разбор строк. HeredocДругой способ ограничения строки - использовать синтаксис heredoc ("<<<"). После <<< необходимо предоставить идентификатор, затем строку, а затем - тот же идентификатор как закрывающую кавычку. Закрывающий идентификатор обязан начинаться в первом столбце строчки. Используемый идентификатор также обязан следовать тем же
правилам именования, что и все другие метки в PHP:
Heredoc текст ведёт себя так же, как строка в двойных кавычках. Это значит, что вам не нужно мнемонизировать кавычки в heredocs, но можно продолжать использовать коды-мнемоники, перечисленные выше. Переменные разворачиваются, но с комплексными переменными в heredoc нужно работать так же внимательно, как и со строками.
Разбор переменныхКогда строка специфицируется двойными кавычками или heredoc, переменные внутри неё разбираются. Есть два типа синтаксиса: простой и сложный. Простой синтаксис более распространён и удобнее, он предоставляет способ разбора переменной, переменной массива или свойства объекта. Сложный синтаксис был введён в PHP 4 и может распознаваться по фигурным скобкам {} вокруг выражения. Простой синтаксисЕсли обнаружен знак dollar ($), разборщик захватывает как можно больше лексем для образования правильного имени. Заключайте имя переменной в фигурные скобки, если вы хотите явным образом специфицировать конец имени.
Аналогично вы можете заставить разобрать индекс массива или свойство объекта. В индексах массивов закрывающая квадратная скобка (]) обозначает конец индекса. Для свойств объекта применяются те же правила, что и для простых переменных, хотя со свойствами объекта невозможен трюк, как с переменными.
Для чего-либо более сложного вы должны использовать сложный синтаксис. Сложный (фигурный) синтаксисОн называется сложным не потому, что сложен, а потому что вы можете включать таким способом сложные выражения. Фактически вы можете включать любое значение, которое находится в
пространстве имён строки с этим синтаксисом. Вы просто записываете
выражение тем же способом, что и вне строки, а затем окружаете его
символами { и }. Поскольку вы не может заменить '{' мнемоникой, этот
синтаксис будет распознаваться, только когда $ идёт непосредственно после {.
Доступ к символу в строкеМожно получить доступ к символам в строке путём специфицирования смещения с базой 0 в фигурных скобках для нужного символа.
Используемые функцииСтроки можно объединять (конкатенировать) с помощью операции '.' (точка). Заметьте, что операция сложения '+' здесь не работает. См. также раздел Строковые операции. Имеется большое количество функций для работы со строками. См. раздел строковых функций, функции регулярных выражений для продвинутого поиска & замены (в двух частях: Perl и POSIX расширенный). Имеются также функции для работы с URL-строками и функции для кодирования/декодирования строк (mcrypt и mhash). Наконец, если вы ещё не нашли то, что нужно, посмотрите функции для символьного типа. Конвертация строкКогда строка вычисляется как числовое значение, результирующее значение и его тип определяются так. Строка вычисляется как float, если содержит любой из символов '.', 'e' или 'E'. Иначе она вычисляется как integer. Значение даётся по начальной части строки. Если строка начинается с правильного числового значения, используется это значение. Иначе значение будет 0 (нуль). Верным числовым символом является знак с последующими одной или более цифрами (с возможной десятичной точкой), с последующей необязательной экспонентой. Экспонента это 'e' или 'E' с последующими одной или более цифрами.
Дополнительно об этой конвертации см. учебник Unix, страницы о strtod(3). Если вы хотите протестировать любой из примеров этого раздела, вы может скопировать его и вставить следующую строку, чтобы посмотреть, что будет:
| ||||||||||||||||||||||||||||||
|