|
||||||||||||||||||||||||||||||
Строки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). Если вы хотите протестировать любой из примеров этого раздела, вы может скопировать его и вставить следующую строку, чтобы посмотреть, что будет:
|
||||||||||||||||||||||||||||||
|