Как работают строки в PHP
18 марта, 2021 12:31 пп 945 views | Комментариев нетDevelopment, PHP | Amber | Комментировать запись
Строка – это последовательность из одного или нескольких символов, среди которых могут быть буквы, цифры или другие символы. Строки являются основой любого языка программирования. Вся коммуникация, которая происходит в письменном виде, состоит из строк.
В этой статье вы узнаете, как создавать строки, как выводить их на экран, использовать escape-последовательности, объединять строки и хранить строки в переменных. Также мы рассмотрим правила использования кавычек, апострофов и символов новой строки в PHP.
Одинарные и двойные кавычки в строках PHP
Чтобы создать строку в PHP, нужно заключить последовательность символов в одинарные или двойные кавычки. В зависимости от кавычек PHP интерпретирует строки по-разному, то есть для PHP эти две сроки – не одно и то же:
'This is a string in single quotes. '
"This is a string in double quotes."
Перед выводом строки в двойных кавычках PHP оценивает любые переменные или escape-последовательности внутри нее. Строки в одинарных кавычках выводятся в точности так же, как они были записаны. Чтобы использовать апостроф внутри строк в одинарных кавычках, перед ним нужно поставить обратный слеш.
К примеру, если нам нужно вывести на экран с помощью команды echo эту строку PHP:
'8host says: "This string\'s in single quotes." It required a backslash (\) before the apostrophes (\\\'), but do not use (\") with the double quotes.'
Команда вернет этот вывод:
8host says: "This string's in single quotes." It required a backslash (\) before the apostrophes (\'), but do not use (\") with the double quotes.
Если вы не добавите обратный слеш перед апострофом в строке, заключенной в одинарные кавычки, PHP завершит строку в том месте, где находится апостроф – по сути он воспринимается как закрывающая одинарная кавычка.
Это вызовет ошибку. Поскольку одинарные кавычки уже используются для создания строки, вы можете включить в нее двойные кавычки.Обратный слеш – это escape-символ, который позволяет PHP читать некоторые символы буквально. Например, чтобы отобразить последовательность символов \’ в предыдущем примере, вы должны использовать три обратных слеша подряд (\\\’). Первые два символа \\ нужны для рендеринга одного обратного слеша, а \’ – для рендеринга апострофа.
Строка:
"8host says: \"This string's in double quotes.\" It requires a backslash (\) before the double quotes (\\\"), but you MUST NOT add a backslash before the apostrophe (\')."
Будет отображаться так:
8host says: "This string's in double quotes." It requires a backslash (\) before the double quotes (\"), but you MUST NOT add a backslash before the apostrophe (\').
Опять же, если ваша строка помещена в двойные кавычки, но в ней нужно использовать еще одни двойные кавычки, то перед ними обязательно нужно поставить обратный слеш. Если этого не сделать, PHP завершит строку в этой точке, что вызовет ошибку. Соответственно, перед апострофом в такой строке не нужно ставить escape-символ.
Аналогично, чтобы вывести последовательность символов \”, нужно использовать три обратных слеша, два из них – это escape-символы для \ и для ‘.
Сочетание escape-символа \ со второстепенным символом называется escape-последовательностью, или управляющей последовательностью. Теперь, когда вы знаете, что такое строки и как их создавать, давайте подробнее рассмотрим escape-последовательности.
Управляющие последовательности
Управляющая последовательность говорит программе, что она должна остановить стандартную рабочую процедуру и по-другому оценить символы, идущие после escape-символа.В PHP escape-последовательность начинается с обратного слеша, \. В основном escape-последовательности применяются к строкам, заключенным в двойные кавычки. Внутри строк в одинарных кавычках escape-последовательности нужны только для того, чтобы вставить апостроф или обратный слеш.
Вот несколько распространенных escape-последовательностей для строк, заключенных в двойные кавычки:
- \” – двойные кавычки
- \\ – обратный слеш
- \$ – отобразит знак доллара вместо расширения переменной
- \n – новая строка
- \t – горизонтальная табуляция
Как можно использовать эти последовательности в строке, показано в следующем примере:
"What type of $ do Blogs use?"
Sand dollars!
Управляющие последовательности дают нам возможность записать любую строку.
Вывод строк
Самая важная особенность строк в двойных кавычках заключается вот в чем: если вы используете в ней переменную, то в выводе будет отображаться не имя этой переменной, а ее значение. Вы можете использовать переменную вместо строки или использовать строку напрямую. Чтобы вывести строку, вызовите функцию echo:
$my_name = "8host";
echo 'Name is specified using the variable $my_name. ';
echo "\n"; // escape-последовательность для символа новой строки
echo "Hello, my name is $my_name. It's stored in the variable \$my_name.";
В первой строке создается переменная $my_name. Во второй строке используется функция echo – она выводит строку в одинарных кавычках. Строка в переменной $my_name заключена в одинарные кавычки, потому отображает символы в точности так, как они написаны – мы увидим имя переменной вместо ее значения.
В четвертой строке мы снова используем функцию echo, но на этот раз берем строку в двойные кавычки. В первом предложении переменная раскрывается, и мы видим ее значение. В следующем предложении перед символом $ стоит знак \, потому программа будет отображать символ $ буквально и не раскроет переменную.
Name is specified using the variable $my_name.
Hello, my name is 8host. It's stored in the variable $my_name.
Примечание: Если оценка строк не играет большой роли, вы можете использовать одинарные или двойные кавычки по своему усмотрению. Но, что бы вы ни выбрали, вы должны быть последовательны в коде программы. Одинарные кавычки могут обрабатываться немного быстрее.
Конкатенация строк
Конкатенация – это объединение нескольких строк в одну новую строку. В PHP есть два способа объединения строки.
Первый способ – включить в строку строковую переменную, заключенную в двойные кавычки. Это мы видели в предыдущем разделе. Вот еще один пример:
$answer = "Chews wisely.";
echo "What do Blogs do when they have a big choice to make? $answer";
Этот код объединит строку и переменную $answer, значение которой – строка «Chews wisely.»:
What do Blogs do when they have a big choice to make? Chews wisely.
Второй способ конкатенации строк – использовать специальный оператор, который обозначается точкой.
Давайте объединим строки “8host” и “Blog” в одну строку с помощью оператора конкатенации и echo:
echo "8host" . "Blog";
Этот код использует оператор «.
» для объединения строк «8host» и «Blog» без пробела между ними.Если вам нужен пробел между двумя строками, просто добавьте пробел в одну из строк, например, после слова 8host:
echo "8host " . "Blog";
Использовать конкатенацию для объединения строки с целым числом нельзя. Например:
echo "8host" . 27;
Это приведет к ошибке:
Parse error: syntax error, unexpected '.27' (T_DNUMBER), expecting ';' or ',' in php shell code on line 1
Если же вы поместите 27 в кавычки (вот так “27”), то эти данные будут оцениваться как строка.
PHP – это слабо типизированный язык, то есть он будет пытаться преобразовать предоставленные данные на основе запроса. Если вы присвоите переменной значение 27, при конкатенации этой переменной со строкой PHP проанализирует ее как строку:
$my_int = 27;
echo "8host" . $my_int;
Вы получите:
Итак, мы рассмотрели два основных способа конкатенации, или объединения строк. Теперь давайте посмотрим, как PHP позволяет перезаписывать или обновлять строки.
Обновление строк
Обычные переменные в PHP изменяемы, что означает, что их можно обновлять. Давайте посмотрим, что происходит, когда мы меняем значение переменной $my_name:
$my_name = "8host";
echo $my_name . "\n";
$my_name = "Blog";
echo $my_name;
Вывод будет выглядеть так:
8host
Blog
Сначала переменной присвоили значение “8host” и отобразили ее с помощью echo. Затем мы присвоили ей другое значение, “Blog”, и при повторном вызове echo отображает новое значение.
Вместо перезаписи переменной вы можете использовать оператор конкатенации и присваивания (.=), чтобы добавить новые данные в конец строки:
$my_name = "8host";
$my_name .= " Blog";
echo $my_name;
Сначала мы установили переменной $my_name строку “8host”, а затем с помощью операторов .= добавили ” Blog” в конец этой строки. Новое значение $my_name – 8host Blog.
8host Blog
Чтобы добавить новые данные в начало строки, нужно перезаписать исходную строку:
$my_name = "Blog";
$my_name = "8host " . $my_name;
echo $my_name;
На этот раз мы сначала присвоили переменной $my_name значение “Blog”, а затем использовали оператор = для переопределения переменной $my_name новой строкой “8host “, объединенной с предыдущим значением переменной $my_name. Итоговое значение переменной $my_name – 8host Blog.
8host Blog
Перезапись дает нам возможность вносить изменения в существующие строки.
Пробелы в строках
Поскольку PHP не чувствителен к пробелам, вы можете поместить в кавычки столько пробелов или разрывов строк, сколько захотите.
echo "8host
The (silly)
Blog";
Вы получите:
8host
The (silly)
Blog
Имейте в виду, что HTML отображает пробелы иначе. Для перехода в новую строку в HTML нужен тег, поэтому, даже если в исходнике есть символы разрыва строк, вы не увидите эти новые строки на веб-странице. Независимо от того, сколько пробелов в вашем коде PHP, в HTML между символами отображается только один пробел.
Предыдущий пример в HTML будет выглядеть так:
8host The (silly) Blog
Понятное и последовательное использование пробелов – один из лучших приемов для повышения читабельности кода. PHP по существу игнорирует пробелы, благодаря чему у него появляется гибкость, которую вы можете использовать в своих интересах. Интегрированная среда разработки поможет вам поддерживать последовательный код.
Заключение
Возможность контролировать отображение строк важна для связи с конечным пользователем приложения. Обновляя и комбинируя переменные, содержащие специальные символы, вы можете легко добиться желаемого результата.
Продолжая работать со строками, помните об этих трех аспектах:
- Кавычки играют важную роль в строках.
- Конкатенация позволяет объединить строки в одну строку.
- С помощью переменных вы можете сделать строки многоразовыми.
Читайте также:
- Запуск нескольких версий PHP на одном сервере с помощью Apache и PHP-FPM в Ubuntu 20.04
- Постраничный вывод данных на MySQL и PHP в Ubuntu 18.04
Level 1 — Text — PHP
Level 2Level 1
Learn these words
153 words 0 ignored
Check the boxes below to ignore/unignore words, then click save at the bottom. Ignored words will never appear in any learning session.
All None
Ignore?
addcslashes
Возвращает строку, экранированную обратными слэшами перед символами, указанными в параметре charlist
addslashes
Возвращает строку, в которой перед каждым спецсимволом добавлен обратный слэш
bin2hex
Возвращает ASCII-строку, содержащую шестнадцатиричное представление аргумента str
Псевдоним rtrim()
Возвращает строку из одного символа, код которого задан аргументом ascii
chunk_split
Разбивает строку на фрагменты
convert_cyr_string
Преобразует строку из одной кириллической кодировки в другую
convert_uudecode
Декодирует строку из формата uuencode в обычный вид
convert_uuencode
Кодирует строку в формат uuencode
count_chars
Возвращает информацию о символах, входящих в строку
Вычисляет полином CRC32 для строки
Необратимое хэширование строки
Выводит одну или более строк
explode
Возвращает массив строк, полученных разбиением строки string с использованием delimiter в качестве разделителя
fprintf
Записывает строку, созданную с использованием строки формата format, в поток, дескриптор которого передается в параметре handle
get_html_translation_table
Возвращает таблицу преобразований, используемую функциями htmlspecialchars() и htmlentities()
hebrev
Преобразует текст на иврите из логической кодировки в визуальную
hebrevc
Преобразует текст на иврите из логической кодировки в визуальную с преобразованием перевода строки
hex2bin
Декодирует строку данных из шестнадцатеричного представления
html_entity_decode
Преобразует все HTML-сущности в соответствующие символы
htmlentities
Преобразует все возможные символы в соответствующие HTML-сущности
htmlspecialchars_decode
Преобразует специальные HTML-сущности обратно в соответствующие символы
htmlspecialchars
Преобразует специальные символы в HTML-сущности
implode
Объединяет элементы массива в строку
Является псевдонимом: implode()
lcfirst
Возвращает строку str, первый символ которой был преобразован в нижний регистр, если этот символ является буквой
levenshtein
Вычисляет расстояние Левенштейна между двумя строками
localeconv
Возвращает ассоциативный массив с информацией о числовых и денежных форматах в текущей локали
Удаляет пробелы (или другие символы) из начала строки
md5_file
Вычисляет MD5-хэш файла, имя которого задано аргументом filename
Вычисляет MD5-хэш строки str
metaphone
Возвращает ключ metaphone для строки str
money_format
Форматирует число как денежную величину
nl_langinfo
Используется для доступа к отдельным элементам различных категорий текущей локали
Вставляет HTML-код разрыва строки перед каждым переводом строки
number_format
Форматирует число с разделением групп
Возвращает ASCII-код первого символа строки string
parse_str
Разбирает строку str, которая должна иметь формат строки запроса URL и присваивает значения переменным в текущем контексте
Выводит строку. ] ( $ ) вставлен обратный слэш (\)
Возвращает строку str с удаленными из конца строки пробелами
setlocale
Устанавливает настройки локали
sha1_file
Вычисляет SHA1-хэш файла, имя которого задано аргументом filename
Возвращает SHA1-хэш строки str
similar_text
Вычисляет степень похожести двух строк
soundex
Возвращает ключ soundex для строки str
sprintf
Возвращает строку, созданную с использованием строки формата format
sscanf
Разбирает строку в соответствии с заданным форматом
str_getcsv
Выполняет разбор строки в формате CSV и возвращает массив с полученными из строки полями
str_ireplace
Регистро-независимый вариант функции str_replace()
str_pad
Дополняет строку другой строкой до заданной длины
str_repeat
Возвращает строку input, повторенную multiplier раз
str_replace
Возвращает строку или массив, в котором все вхождения search в subject заменены на replace
str_rot13
Выполняет над строкой str преобразование ROT13 и возвращает полученную строку
str_shuffle
Перемешивает символы в строке. Выбирается одна возможная перестановка из всех возможных
str_split
Преобразует строку в массив
str_word_count
Возвращает информацию о словах, входящих в строку
strcasecmp
Бинарно-безопасное сравнение строк без учета регистра
strchr
Псевдоним strstr()
strcmp
Бинарно-безопасное сравнение строк. Эта функция учитывает регистр символов.
strcoll
Сравнение строк с учетом текущей локали
strcspn
Возвращает длину участка в начале строки, не соответствующего маске
strip_tags
Пытается возвратить строку str, из которой удалены все NUL-байты, HTML и PHP теги
stripcslashes
Удаляет экранирование символов, произведенное функцией addcslashes()
stripos
Ищет позицию первого вхождения подстроки needle в строку haystack
stripslashes
Удаляет экранирование символов
stristr
Регистро-независимый вариант функции strstr()
strlen
Возвращает длину строки string
strnatcasecmp
Сравнение строк без учета регистра с использованием алгоритма «natural order»
strnatcmp
Сравнение строк с использованием алгоритма «natural order»
strncasecmp
Бинарно-безопасное сравнение первых n символов строк без учета регистра
strncmp
Бинарно-безопасное сравнение первых n символов строк
strpbrk
Ищет в строке haystack символы из набора char_list
strpos
Возвращает позицию первого вхождения подстроки
strrchr
Возвращает подстроку строки haystack начиная с последнего вхождения needle до конца строки
strrev
Возвращает строку string, перевернутую задом наперед
strripos
Возвращает позицию последнего вхождения подстроки без учета регистра
strrpos
Возвращает позицию последнего вхождения подстроки в строке
strspn
Возвращает длину участка от начала строки subject, содержащий только символы из mask
strstr
Находит первое вхождение подстроки
strtok
Разбивает строку str на подстроки (токены), используя в качестве разделителей символы из token
strtolower
Возвращает строку string, в которой все буквенные символы переведены в нижний регистр
strtoupper
Возвращает строку string, в которой все буквенные символы переведены в верхний регистр
Преобразует заданные символы или заменяет подстроки
substr_compare
Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
substr_count
Возвращает число вхождений подстроки
substr_replace
Заменяет часть строки string, начинающуюся с символа с порядковым номером start и (необязательной) длиной length
substr
Возвращает подстроку строки string, начинающейся с start символа по счету и длиной length символов
Удаляет пробелы (или другие символы) из начала и конца строки
ucfirst
Преобразует первый символ строки в верхний регистр
ucwords
Преобразует в верхний регистр первый символ каждого слова в строке
vfprintf
Записывает строку, отформатированную в соответствии с параметром format в поток handle. Похожа на fprintf(), но принимает массив.
vprintf
Выводит значения массива, отформатированные в соответствии с аргументом format. Подобна printf(), но принимает массив
vsprintf
Возвращает отформатированную строку. Эта функция подобна sprintf(), но она принимает не переменное число аргументов, а массив
wordwrap
Переносит строку по указанному количеству символов
mb_check_encoding
Проверяет, что для потока данных подходит выбранная кодировка. Функция может быть полезной для предотвращения так называемой «Атаки неправильной кодировкой»
mb_convert_case
Производит смену регистра символов в строке string в соответствии с режимом mode
mb_convert_encoding
Преобразует символы строки string str в кодировку to_encoding. Также можно указать необязательный параметр from_encoding
mb_convert_kana
Преобразование кодировок «kana» из одной в другую («zen-kaku», «han-kaku» и другие)
mb_convert_variables
Конвертирует символы в переменных vars из кодировки from_encoding в кодировку to_encoding
mb_decode_mimeheader
Декодирует закодированную строку string str в MIME-заголовке
mb_decode_numericentity
Декодирует числовую HTML-ссылку в символ
mb_detect_encoding
Определяет кодировку символов в строке
mb_detect_order
Задает список кодировок encoding_list для механизмов автоматического определения кодировок в строках
mb_encode_mimeheader
Кодирует строку string str по схеме кодирования MIME-заголовка
mb_encode_numericentity
Преобразует заданные коды символов в строке string str из числовой HTML-ссылки в коды символов
mb_encoding_aliases
Возвращает массив псевдонимов для известного типа кодировки encoding
mb_ereg_match
Совпадение с регулярным выражением для многобайтовой строки
mb_ereg_replace_callback
Scans string for matches to pattern, then replaces the matched text with the output of callback function
mb_ereg_replace
Сканирует строку string для поиска совпадений с pattern, затем заменяет совпавший текст на replacement
mb_ereg_search_getpos
Возвращает начальную позицию следующего совпадения с регулярным выражением
mb_ereg_search_getregs
Получение результата выполнения функций сравнения многобайтных строк с регулярным выражением
mb_ereg_search_init
Инициализация поиска соответствий регулярному выражению многобайтной строкой и текстом регулярного выражения
mb_ereg_search_pos
Возвращает позицию и длину совпавшего с регулярным выражением участка заранее определенной многобайтной строки
mb_ereg_search_regs
Возвращает совпавшую с регулярным выражением часть строки
mb_ereg_search_setpos
Задает начальную позицию в строке, с которой начнется поиск соответствий регулярному выражению
mb_ereg_search
Выполняет поиск соответствий регулярному выражению в многобайтной строке
mb_ereg
Выполняет поиск совпадения с регулярным выражением с поддержкой многобайтовых символов
mb_eregi_replace
Осуществляет замену по регулярному выражению с поддержкой многобайтовых символов без учета регистра
mb_eregi
Поиск соответствий регулярному выражению поддерживающий многобайтные символы и нечувствительный к регистру
mb_get_info
Возвращает параметры внутренней настройки mbstring
mb_http_input
Определяет кодировку входных данных HTTP-запроса
mb_http_output
Установка/получение кодировки символов HTTP вывода. Выходные данные после работы этой функции будут преобразованы к кодировке encoding
mb_internal_encoding
Установка/получение внутренней кодировки скрипта
mb_language
Установка/получение текущего языка
mb_list_encodings
Возвращает массив всех поддерживаемых кодировок
mb_output_handler
Является callback-функцией функции ob_start(). mb_output_handler() преобразует символы в выходном буфере из внутренней кодировки в кодировку HTTP вывода
mb_parse_str
Разбор данных запросов GET/POST/COOKIE и установка значений глобальных переменных
mb_preferred_mime_name
Получение набора символов MIME
mb_regex_encoding
Возвращает текущую кодировку для многобайтового регулярного выражения в виде строки
mb_regex_set_options
Задает умолчания, описанные в options, для функций регулярных выражений, работающих со строками в многобайтных кодировках
mb_send_mail
Посылает сообщение электронной почты. Заголовки и сообщения преобразуются и кодируются в соответствии с настройкой mb_language(). Это обертка для функции mail()
mb_split
Разделяет многобайтную строку string, используя регулярное выражение pattern и возвращает массив
mb_strcut
Вычленияет подстроку из строки также, как mb_substr(), но оперирует байтами вместо символов
mb_strimwidth
Обрезает строку string str по ширине width
mb_stripos
Возвращает позицию первого вхождения строки needle в строке haystack. В отличие от mb_strpos(), mb_stripos() не чувствительна к регистру символов
mb_stristr
Находит первое вхождение подстроки needle в haystack и возвращает часть haystack
mb_strlen
Возвращает количество символов в строке (string) str, имеющих кодировку символов
mb_strpos
Возвращает число — позицию первого вхождения строки needle в строку haystack
mb_strrchr
Ищет последнее вхождение строки needle в строке haystack и возвращает часть строки haystack
mb_strrichr
Поиск последнего вхождения одной строки в другую, нечувствительный к регистру
mb_strripos
Выполняет безопасную с точки зрения многобайтных кодировок операцию strripos(), основываясь на количестве символов
mb_strrpos
Выполняет безопасную с точки зрения многобайтных кодировок операцию strrpos() , основываясь на количестве символов
mb_strstr
Находит первое вхождение подстроки needle в строке haystack и возвращает часть haystack
mb_strtolower
Возвращает строку str, буквенные символы в которой приведены к нижнему регистру
mb_strtoupper
Возвращает строку str, буквенные символы в которой приведены к верхнему регистру
mb_strwidth
Возвращает ширину строки
mb_substitute_character
Задает замещающий символ на случай, когда кодировка входных данных задана неверно или код символа не существует в кодировке выходных данных
mb_substr_count
Подсчитывает, сколько раз подстрока needle встречается в строке haystack
mb_substr
Корректно выполняет substr() для многобайтовых кодировок, учитывая количество символов
ТаблицаASCII
ASCII (, что означает Американский стандартный код для обмена информацией ) — это стандарт кодирования символов для текстовых файлов на компьютерах и других устройствах. ASCII является подмножеством Unicode и состоит из 128 символов в наборе символов. Эти символы состоят из букв (как прописных, так и строчных), цифр, знаков препинания, специальных символов и управляющих символов. Каждый символ в наборе символов может быть представлен десятичным значением в диапазоне от 0 до 127, а также эквивалентными шестнадцатеричными и восьмеричными значениями. 9_
Декабрь | Шестнадцатеричный | окт | Символ | Описание |
---|---|---|---|---|
64 | 40 | 100 | @ | Коммерческий на знаке |
65 | 41 | 101 | А | Латинская заглавная буква А |
66 | 42 | 102 | Б | Латинская заглавная буква B |
67 | 43 | 103 | С | Латинская заглавная буква C |
68 | 44 | 104 | Д | Латинская заглавная буква D |
69 | 45 | 105 | Е | Латинская заглавная буква E |
70 | 46 | 106 | Ф | Латинская заглавная буква F |
71 | 47 | 107 | Г | Латинская заглавная буква G |
72 | 48 | 110 | Х | Латинская заглавная буква H |
73 | 49 | 111 | я | Латинская заглавная буква I |
74 | 4А | 112 | Дж | Латинская заглавная буква J |
75 | 4Б | 113 | К | Латинская заглавная буква K |
76 | 4С | 114 | л | Латинская заглавная буква L |
77 | 4Д | 115 | М | Латинская заглавная буква М |
78 | 4Е | 116 | Н | Латинская заглавная буква N |
79 | 4F | 117 | О | Латинская заглавная буква O |
80 | 50 | 120 | Р | Латинская заглавная буква P |
81 | 51 | 121 | В | Латинская заглавная буква Q |
82 | 52 | 122 | Р | Латинская заглавная буква R |
83 | 53 | 123 | С | Латинская заглавная буква S |
84 | 54 | 124 | Т | Латинская заглавная буква Т |
85 | 55 | 125 | У | Латинская заглавная буква U |
86 | 56 | 126 | В | Латинская заглавная буква V |
87 | 57 | 127 | Вт | Латинская заглавная буква W |
88 | 58 | 130 | х | Латинская заглавная буква X |
89 | 59 | 131 | Д | Латинская заглавная буква Y |
90 | 5А | 132 | З | Латинская заглавная буква Z |
91 | 5Б | 133 | [ | Левая квадратная скоба |
92 | 5С | 9Акцент Circumflex/Caret | ||
95 | 5Ф | 137 | _ | Подчеркивание/нижняя строка |
96 | 60 | 140 | ` | Могильный акцент |
97 | 61 | 141 | и | Латинская строчная буква а |
98 | 62 | 142 | б | Строчная латинская буква b |
99 | 63 | 143 | в | Строчная латинская буква c |
100 | 64 | 144 | д | Латинская строчная буква d |
101 | 65 | 145 | и | Строчная латинская буква e |
102 | 66 | 146 | ф | Латинская строчная буква f |
103 | 67 | 147 | г | Латинская строчная буква g |
104 | 68 | 150 | ч | Строчная латинская буква h |
105 | 69 | 151 | и | Латинская строчная буква i |
106 | 6А | 152 | и | Латинская строчная буква j |
107 | 6Б | 153 | к | Латинская строчная буква k |
108 | 6С | 154 | л | Строчная латинская буква l |
109 | 6Д | 155 | м | Латинская строчная буква m |
110 | 6Е | 156 | п | Латинская строчная буква n |
111 | 6F | 157 | или | Латинская строчная буква о |
112 | 70 | 160 | р | Строчная латинская буква p |
113 | 71 | 161 | к | Латинская строчная буква q |
114 | 72 | 162 | р | Строчная латинская буква r |
115 | 73 | 163 | с | Латинская строчная буква s |
116 | 74 | 164 | т | Латинская строчная буква т |
117 | 75 | 165 | и | Латинская строчная буква u |
118 | 76 | 166 | против | Строчная латинская буква v |
119 | 77 | 167 | с | Латинская строчная буква w |
120 | 78 | 170 | х | Строчная латинская буква x |
121 | 79 | 171 | и | Латинская строчная буква y |
122 | 7А | 172 | г | Латинская строчная буква z |
123 | 7Б | 173 | { | Левая фигурная скобка |
124 | 7С | 174 | | | Вертикальная линия/Вертикальная полоса |
125 | 7Д | 175 | } | Правая фигурная скобка |
126 | 7Э | 176 | ~ | Тильда |
127 | 7Ф | 177 | ДЕЛ | Удалить (DEL) |
В наборе символов ASCII десятичные значения от 0 до 31, а также десятичное значение 127 представляют непечатаемые символы. Эти непечатаемые символы можно сгенерировать с помощью последовательности клавиш, где 9М ).
Все остальные символы в наборе символов могут быть напечатаны или представлены на экране. Эти печатные значения символов можно увидеть в поле Char в таблице выше.
Расширенные символы ASCII
Декабрь | Шестнадцатеричный | окт | Символ | Описание |
---|---|---|---|---|
128 | 80 | 200 | ||
129 | 81 | 201 | ||
130 | 82 | 202 | ||
131 | 83 | 203 | ||
132 | 84 | 204 | ||
133 | 85 | 205 | ||
134 | 86 | 206 | ||
135 | 87 | 207 | ||
136 | 88 | 210 | ||
137 | 89 | 211 | ||
138 | 8А | 212 | ||
139 | 8Б | 213 | ||
140 | 8С | 214 | ||
141 | 8Д | 215 | ||
142 | 8Е | 216 | ||
143 | 8Ф | 217 | ||
144 | 90 | 220 | ||
145 | 91 | 221 | ||
146 | 92 | 222 | ||
147 | 93 | 223 | ||
148 | 94 | 224 | ||
149 | 95 | 225 | ||
150 | 96 | 226 | ||
151 | 97 | 227 | ||
152 | 98 | 230 | ||
153 | 99 | 231 | ||
154 | 9А | 232 | ||
155 | 9Б | 233 | ||
156 | 9С | 234 | ||
157 | 9Д | 235 | ||
158 | 9Е | 236 | ||
159 | 9Ф | 237 | ||
160 | А0 | 240 | Неразрывный пробел | |
161 | А1 | 241 | ¡ | Перевернутый восклицательный знак |
162 | А2 | 242 | ¢ | Знак цента |
163 | А3 | 243 | £ | Знак фунта |
164 | А4 | 244 | ¤ | Знак валюты |
165 | А5 | 245 | ¥ | Знак иены/юаня |
166 | А6 | 246 | ¦ | Сломанный стержень |
167 | А7 | 247 | § | Знак раздела |
168 | А8 | 250 | ¨ | Дэрезис |
169 | А9 | 251 | © | Знак авторского права |
170 | АА | 252 | ª | Женский порядковый номер |
171 | АБ | 253 | « | Двойная кавычка, указывающая влево |
172 | АС | 254 | ¬ | Не подписывать |
173 | г. н.э. | г.255 | Мягкий дефис | |
174 | АЕ | 256 | ® | Знак зарегистрированной торговой марки |
175 | АФ | 257 | ¯ | Макрон |
176 | В0 | 260 | ° | Знак градуса |
177 | В1 | 261 | ± | Знак плюс-минус |
178 | В2 | 262 | ² | Верхний индекс два |
179 | В3 | 263 | ³ | Верхний индекс три |
180 | В4 | 264 | ´ | Острый акцент |
181 | В5 | 265 | мкм | Микрознак (мю) |
182 | В6 | 266 | ¶ | Знак Pilcrow |
183 | В7 | 267 | · | Средняя точка |
184 | В8 | 270 | ¸ | Седилья |
185 | В9 | 271 | № | Верхний индекс один |
186 | ВА | 272 | º | Порядковый номер мужского рода |
187 | ББ | 273 | » | Двойная угловая кавычка, указывающая вправо |
188 | г. до н.э. | г. до н.э.274 | ¼ | Вульгарная дробь одна четверть |
189 | БД | 275 | ½ | Вульгарная дробь одна половина |
190 | БЭ | 276 | ¾ | Вульгарная дробь три четверти |
191 | БФ | 277 | À | Перевернутый вопросительный знак |
Декабрь | Шестнадцатеричный | окт | Символ | Описание |
---|---|---|---|---|
192 | С0 | 300 | А | Латинская заглавная буква А с гравировкой |
193 | С1 | 301 | Á | Латинская заглавная буква А с острым знаком |
194 | С2 | 302 | Â | Латинская заглавная буква А с циркумфлексом |
195 | С3 | 303 | х | Латинская заглавная буква А с тильдой |
196 | С4 | 304 | Ä | Латинская заглавная буква А с диэрезисом |
197 | С5 | 305 | Å | Латинская заглавная буква А с кольцом над |
198 | С6 | 306 | Æ | Латинская заглавная буква AE |
199 | С7 | 307 | Ç | Латинская заглавная буква C с седильей |
200 | С8 | 310 | È | Латинская заглавная буква E с разрядностью |
201 | С9 | 311 | Э | Латинская заглавная буква E с острым знаком |
202 | КА | 312 | К | Латинская заглавная буква E с циркумфлексом |
203 | КБ | 313 | Ë | Латинская заглавная буква E с диэрезисом |
204 | СС | 314 | М | Латинская заглавная буква I с разрядностью |
205 | CD | 315 | Í | Латинская заглавная буква I с острым знаком |
206 | СЕ | 316 | О | Латинская заглавная буква I с циркумфлексом |
207 | КФ | 317 | О | Латинская заглавная буква I с диэрезисом |
208 | Д0 | 320 | Р | Латинская заглавная буква ETH |
209 | Д1 | 321 | С | Латинская заглавная буква N с тильдой |
210 | Д2 | 322 | Т | Латинская заглавная буква O с гравировкой |
211 | Д3 | 323 | О | Латинская заглавная буква О с острым знаком |
212 | Д4 | 324 | Ô | Латинская заглавная буква O с циркумфлексом |
213 | Д5 | 325 | х | Латинская заглавная буква O с тильдой |
214 | Д6 | 326 | . .. | Латинская заглавная буква O с диэрезисом |
215 | Д7 | 327 | × | Знак умножения |
216 | Д8 | 330 | Ø | Латинская заглавная буква О со штрихом |
217 | Д9 | 331 | Ù | Латинская заглавная буква U с гравировкой |
218 | ДА | 332 | Ú | Латинская заглавная буква U с острым знаком |
219 | ДБ | 333 | Û | Латинская заглавная буква U с циркумфлексом |
220 | DC | 334 | О | Латинская заглавная буква U с диэрезисом |
221 | ДД | 335 | Ý | Латинская заглавная буква Y с острым знаком |
222 | ДЭ | 336 | Þ | Латинская заглавная буква THORN |
223 | ДФ | 337 | ß | Латинская строчная диез s |
224 | Э0 | 340 | и | Строчная латинская буква а с разрядностью |
225 | Е1 | 341 | а | Строчная латинская буква а с акутом |
226 | Е2 | 342 | — | Строчная латинская буква а с циркумфлексом |
227 | Е3 | 343 | ã | Строчная латинская буква а с тильдой |
228 | Е4 | 344 | и | Латинская строчная буква а с диэрезисом |
229 | Е5 | 345 | х | Строчная латинская буква а с кольцом над |
230 | Е6 | 346 | æ | Строчная латинская буква ae |
231 | Е7 | 347 | и | Строчная латинская буква c с седилью |
232 | Е8 | 350 | и | Строчная латинская буква е с разрядностью |
233 | Е9 | 351 | и | Строчная латинская буква e с акутом |
234 | ЕА | 352 | — | Строчная латинская буква e с циркумфлексом |
235 | ЭБ | 353 | — | Строчная латинская буква e с диэрезисом |
236 | ЕС | 354 | х | Латинская строчная буква i с разрядностью |
237 | ЭД | 355 | и | Строчная латинская буква i с акутом |
238 | ЕЕ | 356 | î | Строчная латинская буква i с циркумфлексом |
239 | ЭФ | 357 | ï | Строчная латинская буква i с диэрезисом |
240 | Ф0 | 360 | ð | Латинская строчная буква eth |
241 | Ф1 | 361 | – | Строчная латинская буква n с тильдой |
242 | Ф2 | 362 | х | Строчная латинская буква о с гравировкой |
243 | Ф3 | 363 | — | Строчная латинская буква o с акутом |
244 | Ф4 | 364 | х | Строчная латинская буква o с циркумфлексом |
245 | Ф5 | 365 | х | Строчная латинская буква о с тильдой |
246 | Ф6 | 366 | или | Строчная латинская буква o с диэрезисом |
247 | Ф7 | 367 | ÷ | Знак дивизии/Обелюс |
248 | Ф8 | 370 | ø | Латинская строчная буква о со штрихом |
249 | Ф9 | 371 | х | Латинская строчная буква u с запятой |
250 | ФА | 372 | ú | Латинская строчная буква u с акутом |
251 | ФБ | 373 | х | Латинская строчная буква u с циркумфлексом |
252 | ФК | 374 | и | Латинская строчная буква u с диэрезисом |
253 | ФД | 375 | х | Строчная латинская буква y с акутом |
254 | ФЭ | 376 | + | Латинская строчная буква шип |
255 | ФФ | 377 | ÿ | Строчная латинская буква y с диэрезисом |
Руководство по работе со строками PHP
В этом руководстве мы покажем вам, как использовать строки в языке PHP.
В PHP строка — это тип данных, который позволяет хранить ряд символов. Язык PHP поддерживает только 256 символов, так как каждая буква хранится как байт . Байт имеет максимум 256 различных значений.
Существуют различные способы определения строки в PHP. Каждый из этих методов ведет себя по-разному и имеет свои плюсы и минусы.
Эти различные методы указания строки следующие.
- Одинарные кавычки (
''
) - Двойные кавычки (
" "
) - Синтаксис Heredoc (
<<
) - Синтаксис Nowdoc (
<<<'IDENTIFIER' 9 3256 )
В этом руководстве мы рассмотрим каждый из различных способов определения строки в языке PHP.
Если вы только начинаете работать с PHP, мы рекомендуем сосредоточиться на одинарных и двойных кавычках. Это самые простые способы определения строки, и вы, скорее всего, будете использовать их чаще всего.
Строки в одинарных кавычках в PHP
Вы можете определить строку в языке PHP, заключив ее в одинарные кавычки ( ' '
).
При использовании одинарных кавычек PHP не будет расширять специальные символы в строке. Он поддерживает только экранирование одиночной кавычки/апострофа ( '
) или символа обратной косой черты ( \
).
Строки PHP с одинарными кавычками немного быстрее, чем строки с двойными кавычками, и их следует использовать в тех случаях, когда вы не хотите, чтобы строка оценивалась.
Если вы хотите использовать специальные символы или переменные в строке, вам нужно использовать строки в двойных кавычках.
Пример использования одинарных кавычек для определения строки в PHP
В следующих нескольких разделах мы рассмотрим различные варианты поведения одинарных кавычек в PHP.
Мы изучим, как используются одинарные кавычки и как справляться с их различными пограничными случаями.3255'' ).
Например, если мы хотим напечатать текст « Пример строки, заключенной в одинарные кавычки
» в PHP, мы можем использовать следующий код.
Несколько строк с использованием одинарных кавычек
Поскольку одинарные кавычки в PHP не поддерживают расширяемые экранированные символы, такие как « \n
», вам придется вставлять новые строки в строку.
Это означает, что вам нужно определить строку по нескольким строкам, как показано ниже.
Использование одиночной кавычки в одинарных кавычках в строке
Если вы пишете строку, в которую хотите включить одинарную кавычку или апостроф, вам нужно ее экранировать.
Вы можете избежать одинарной кавычки ('
), используя обратную косую черту (\
) непосредственно перед ней, например "\'
".
Например, если мы хотим показать строку в кавычках внутри строки, мы можем написать это следующим образом.
Одинарные кавычки не расширяются
PHP не будет расширять экранированные символы или переменные в строке при использовании одинарных кавычек.
Например, использование последовательности перевода строки « \n
» в строке с одинарными кавычками будет просто напечатано как « \n
».
Аналогичным образом, если вы попытаетесь включить переменную PHP в строку в одинарных кавычках, она будет интерпретирована как символы.
Строки в двойных кавычках в PHP
Второй способ определения строк в PHP заключается в использовании двойных ( " "
) вокруг последовательности символов. Двойные кавычки полезны, когда вы хотите оценить содержимое строки.
Преимущество строк в двойных кавычках заключается в том, что PHP расширяет значения внутри строки. Так, например, PHP преобразует экранированный символ, такой как « \n
», в перевод строки.
Наиболее важной особенностью строк в двойных кавычках является то, что PHP преобразует имена переменных обратно в их значение.
Поддерживаемые экранированные символы
Когда строка в PHP заключена в двойные кавычки, она поддерживает несколько escape-последовательностей. Вы экранируете символ, включая обратную косую черту ( /
) перед персонажем.
Вы можете увидеть некоторые из различных escape-последовательностей, поддерживаемых PHP, обратившись к нашей таблице ниже.
Escape-последовательности | Замена |
---|---|
\n | Символ новой строки (перевод строки) 90 030 |
\r | Символ возврата каретки |
\t | Символ горизонтальной табуляции |
\v | Символ вертикальной табуляции |
\e | Экранирующий символ |
9325 5 \f | Символ перевода страницы (разрыв страницы) |
\\ | Символ обратной косой черты |
\$ | Знак доллара |
\' | Одинарная кавычка |
| Двойная кавычка |
\x[0-9A-Fa-f]{1,2} | Шестнадцатеричный символ |
\u{[0-9A-Fa- ф]+} | Символ Юникода |
Пример использования строк в двойных кавычках
В следующем разделе мы покажем вам различные способы использования строк в двойных кавычках ( " "
) в PHP.
Эти примеры покажут вам, как PHP обрабатывает строки с двойными кавычками.
Основное использование строки в двойных кавычках в PHP
Чтобы использовать двойные кавычки в PHP, вам нужно поместить двойную кавычку ( " "
) перед началом строки и одну после.
Например, мы будем использовать следующее для вывода текста « Это строка
в двойных кавычках».
Многострочные строки с использованием двойных кавычек
Используя двойные кавычки в PHP, вы можете создавать многострочные строки несколькими способами.
Первый из этих способов — внедрить новые строки непосредственно в вашу строку. PHP автоматически обработает эти
Кроме того, вы можете вставить новую строку в свою строку с помощью символа новой строки « \n
».
Когда PHP передает строку в двойных кавычках, он расширяет последовательность экранированных символов в новую строку.
Экранирование двойных кавычек в строке с двойными кавычками в PHP
Если вы используете строку с двойными кавычками в PHP и хотите использовать двойные кавычки, вам необходимо их экранировать.
Чтобы избежать двойной кавычки, нам нужно поместить обратную косую черту ( \
) перед двойной кавычкой ( "
).
Например, мы использовали бы следующий код, если бы хотели использовать строку « Строка в двойных кавычках" с двойными кавычками
«. Использование двойных кавычек для определения строки означает, что PHP расширит переменные и экранированные символы
Когда PHP найдет имя переменной, он выполнит поиск и вставит это значение в строку на свое место
Использование знака доллара в двойном значении Строки в кавычках
Поскольку символ доллара означает начало переменной в двойной строке, вам может потребоваться экранировать его.
Чтобы избежать знака доллара ( $
), вы просто ставите перед ним обратную косую черту «\».
В приведенном ниже примере видно, что PHP не вставит значение нашей переменной в строку из-за обратной косой черты.
Использование синтаксиса Heredoc в PHP
Третий способ определения строки в PHP называется синтаксисом heredoc. Это немного более сложный синтаксис со своими преимуществами, особенно для читаемости кода.
- Во-первых, вам не нужно беспокоиться об экранировании одинарных или двойных кавычек в строке heredoc благодаря тому, как это определено.
- Во-вторых, как и строки в двойных кавычках, переменные и другие последовательности символов расширяются.
Чтобы определить строку в PHP с помощью heredoc, вам нужно использовать три знака «меньше» « <<<
», за которыми сразу следует идентификатор. Кроме того, идентификатор должен соответствовать стандартным правилам именования PHP.
Строка должна заканчиваться указанным вами идентификатором на новой строке без пробелов.
Ниже вы можете увидеть пример правильно написанной строки heredoc, написанной на PHP.
Примеры использования heredoc в PHP
Поскольку поначалу синтаксис строки PHP Heredoc может показаться немного трудным для понимания, давайте рассмотрим несколько различных способов его использования.
Вы быстро увидите, что синтаксис Heredoc делает код более читаемым при работе с несколькими строками текста.
Простое использование heredoc в PHP
Ниже приведен пример записи однострочной строки с использованием синтаксиса heredoc в PHP. В этом примере мы будем хранить строку « Привет, мир.
» в переменной с именем « $string
».
Хотя это не лучшее использование синтаксиса heredoc, оно дает представление о том, как его использовать.
Запись многострочной строки с использованием синтаксиса heredoc
Запись многострочной строки очень проста благодаря синтаксису heredoc в PHP. Просто вставьте новые строки в строку.
Ниже приведен пример того, как вы можете написать многострочную строку в PHP.
Использование одинарных и двойных кавычек в синтаксисе PHP heredoc
Одним из наиболее значительных преимуществ использования синтаксиса heredoc в PHP является то, что вам не нужно беспокоиться об экранировании одинарных ( '
) или двойных кавычек ( "
).
Без экранирования этих символов ваша строка
Ниже вы можете увидеть, как мы написали строку, используя синтаксис heredoc, включая одинарные или двойные кавычки
Синтаксис heredoc расширяет переменные и последовательности управляющих символов
Другое преимущество синтаксиса строки heredoc заключается в том, что он по-прежнему расширяет переменные и последовательности управляющих символов.
Например, если вы хотите включить в строку значение вашей переменной с именем « $example
», все, что вам нужно сделать, это включить его в строку, как показано ниже.
Кроме того, escape-последовательности, такие как « \n
» или « \t
», также будут расширены.
Синтаксис Nowdoc в языке PHP
Строковый синтаксис Nowdoc в PHP очень похож на Heredoc. В некотором смысле это можно считать очень похожим на использование одинарных кавычек.
Для строки Nowdoc никакая переменная или последовательность экранированных символов не оценивается. Эта функциональность полезна, когда вы пишете простую строку и вам не нужно включать
Чтобы написать строку Nowdoc, вы должны сначала начать ее с трех знаков меньше ( <<<
), за которыми следует идентификатор, завернутый в одинарную строку. кавычки ( 'IDENTIFIER'
), а затем новую строку.
Кроме того, эта строка также должна заканчиваться идентификатором в начале новой строки. Конечный идентификатор не обязательно заключать в одинарные кавычки.
Пример использования строк Nowdoc в PHP
Поскольку синтаксис строки Nowdoc в PHP похож на Heredoc, мы рассмотрим только несколько кратких примеров.
В этих примерах основное внимание уделяется тому, как PHP не расширяет значения, содержащиеся в строке Nowdoc.
Основное использование формата Nowdoc
Написание простой однострочной строки — не лучший вариант использования строкового формата Nowdoc в PHP. Тем не менее, это даст вам хорошее понимание основного синтаксиса.
Мы сохраним строку с текстом « Hello World
» в переменной. Для нашего идентификатора Nowdoc мы будем просто использовать « 'IDENTIFIER'
» для этого примера.
Многострочная строка с использованием Nowdoc в PHP
Формат Nowdoc лучше всего работает с удобочитаемостью при работе с несколькими строками текста.
Поскольку строка Nowdoc не расширяет элементы, вы должны вставлять новые строки в саму строку.
Ниже приведен пример написания многострочной строки Nowdoc на PHP. Из этого примера видно, что PHP не будет расширять символ новой строки.
Строки Nowdoc не расширяют значения
В этом примере показано основное различие между строками Nowdoc и Heredoc в PHP.
При использовании синтаксиса Nowdoc переменные и экранированные символы не будут раскрываться при анализе строки PHP. Это полезно, когда вы хотите использовать символы, не беспокоясь об их расширении.
В этом примере мы покажем вам, как использовать переменную с именем « $variable
» и два экранированных символа ( \t
и \n
) без их расширения PHP.