Строковые функции PHP
❮ Назад Далее ❯
Строковые функции PHP являются частью ядра PHP. Для использования этих функций установка не требуется.
Функция | Описание |
---|---|
addcslashes() | Возвращает строку с обратной косой чертой перед указанными символами |
добавляет слэш() | Возвращает строку с обратной косой чертой перед предопределенными символами |
bin2hex() | Преобразует строку символов ASCII в шестнадцатеричные значения |
отбивная() | Удаляет пробелы или другие символы с правого конца строки |
хр() | Возвращает символ из указанного значения ASCII |
chunk_split() | Разбивает строку на несколько более мелких частей |
convert_cyr_string() | Преобразует строку из одного кириллического набора символов в другой |
convert_uudecode() | Декодирует незакодированную строку |
convert_uuencode() | Кодирует строку с использованием алгоритма uuencode |
count_chars() | Возвращает информацию о символах, используемых в строке |
crc32() | Вычисляет 32-битный CRC для строки |
крипт() | Одностороннее хеширование строк |
эхо() | Выводит одну или несколько строк |
взорвать() | Разбивает строку на массив |
fprintf() | Записывает отформатированную строку в указанный выходной поток |
get_html_translation_table() | Возвращает таблицу перевода, используемую htmlspecialchars() и htmlentities() |
иврит () | Преобразует текст на иврите в визуальный текст |
hebrevc() | Преобразует текст на иврите в визуальный текст и новые строки (\n) в |
hex2bin() | Преобразует строку шестнадцатеричных значений в символы ASCII |
html_entity_decode() | Преобразует объекты HTML в символы |
htmlentities() | Преобразует символы в объекты HTML |
htmlspecialchars_decode() | Преобразует некоторые предопределенные объекты HTML в символы |
htmlspecialchars() | Преобразует некоторые предопределенные символы в объекты HTML |
взорваться() | Возвращает строку из элементов массива |
присоединиться() | Псевдоним implode() |
lcfirst() | Преобразует первый символ строки в нижний регистр |
Левенштейн() | Возвращает расстояние Левенштейна между двумя строками |
localeconv() | Возвращает информацию о числовом и денежном форматировании локали |
ltrim() | Удаляет пробелы или другие символы с левой стороны строки |
md5() | Вычисляет хэш MD5 строки |
md5_file() | Вычисляет хэш MD5 файла |
метафон() | Вычисляет ключ метафона строки |
money_format() | Возвращает строку в формате денежной строки |
nl_langinfo() | Возвращает конкретную локальную информацию |
nl2br() | Вставляет разрывы строк HTML впереди каждой новой строки в строке |
число_формат() | Форматирует число со сгруппированными тысячами |
порядок() | Возвращает значение ASCII первого символа строки |
parse_str() | Разбирает строку запроса на переменные |
печать() | Выводит одну или несколько строк |
printf() | Выводит форматированную строку |
quoted_printable_decode() | Преобразует строку для печати в кавычках в 8-битную строку |
quoted_printable_encode() | Преобразует 8-битную строку в печатную строку в кавычках |
цитата () | Метасимволы кавычек |
rtrim() | Удаляет пробелы или другие символы с правой стороны строки |
setlocale() | Устанавливает информацию о локали |
ша1() | Вычисляет хэш SHA-1 строки |
sha1_file() | Вычисляет хэш SHA-1 файла |
подобный_текст() | Вычисляет сходство между двумя строками |
звук() | Вычисляет ключ soundex строки |
спринтф() | Записывает отформатированную строку в переменную |
sscanf() | Разбирает ввод из строки в соответствии с форматом |
str_getcsv() | Разбирает строку CSV в массив |
str_ireplace() | Заменяет некоторые символы в строке (без учета регистра) |
str_pad() | Дополняет строку до новой длины |
str_repeat() | Повторяет строку указанное количество раз |
str_replace() | Заменяет некоторые символы в строке (с учетом регистра) |
str_rot13() | Выполняет кодирование ROT13 для строки |
str_shuffle() | Случайным образом перемешивает все символы в строке |
str_split() | Разбивает строку на массив |
str_word_count() | Подсчитать количество слов в строке |
strcasecmp() | Сравнивает две строки (без учета регистра) |
стрхр() | Находит первое вхождение строки внутри другой строки (псевдоним strstr()) |
strcmp() | Сравнивает две строки (с учетом регистра) |
стрколл() | Сравнивает две строки (сравнение строк на основе локали) |
стркспн() | Возвращает количество символов, найденных в строке, прежде чем будет найдена какая-либо часть некоторых указанных символов |
strip_tags() | Удаляет теги HTML и PHP из строки |
полосы косой черты () | Отменяет кавычки строки, цитируемой с помощью addcslashes() |
полоски () | Отменяет кавычки строки, цитируемой с помощью addlashes() |
полосы() | Возвращает позицию первого вхождения строки внутри другой строки (без учета регистра) |
стрстр() | Находит первое вхождение строки внутри другой строки (без учета регистра) |
строка() | Возвращает длину строки |
strnatcasecmp() | Сравнивает две строки, используя алгоритм «естественного порядка» (без учета регистра) |
стрнаткмп() | Сравнивает две строки, используя алгоритм «естественного порядка» (с учетом регистра) |
strncasecmp() | Сравнение строк первых n символов (без учета регистра) |
strncmp() | Сравнение строк первых n символов (с учетом регистра) |
стрпбрк() | Ищет в строке любой набор символов |
строка() | Возвращает позицию первого вхождения строки внутри другой строки (с учетом регистра) |
стррхр() | Находит последнее вхождение строки внутри другой строки |
стррев() | Переворачивает строку |
стрипос() | Находит позицию последнего вхождения строки внутри другой строки (без учета регистра) |
стррпос() | Находит позицию последнего вхождения строки внутри другой строки (с учетом регистра) |
стрспн() | Возвращает количество символов, найденных в строке, содержащей только символы из указанного списка символов |
улстр() | Находит первое вхождение строки внутри другой строки (с учетом регистра) |
Разбивает строку на более мелкие строки | |
strtolower() | Преобразует строку в строчные буквы |
sttoupper() | Преобразует строку в буквы верхнего регистра |
стртр() | Переводит определенные символы в строке |
подстрока() | Возвращает часть строки |
substr_compare() | Сравнивает две строки с указанной начальной позиции (безопасно для двоичных файлов и, возможно, с учетом регистра) |
substr_count() | Подсчитывает, сколько раз подстрока встречается в строке |
substr_replace() | Заменяет часть строки другой строкой |
отделка() | Удаляет пробелы или другие символы с обеих сторон строки |
ucfirst() | Преобразует первый символ строки в верхний регистр |
ucword() | Преобразует первый символ каждого слова в строке в верхний регистр |
vfprintf() | Записывает отформатированную строку в указанный выходной поток |
vprintf() | Выводит отформатированную строку |
vsprintf() | Записывает отформатированную строку в переменную |
перенос слов() | Переносит строку на заданное количество символов |
❮ Предыдущий Следующий ❯
ВЫБОР ЦВЕТА
Эффективное объединение строк и переменных • WPShout
Немного странный термин, который вы можете услышать от людей, использующих PHP: «сцепление». Я до сих пор помню, как впервые услышал это слово, понятия не имея, что оно означает. Оказывается, это была обычная и полезная задача в PHP: соединить две строки вместе, чтобы получить одну строку или что-то, что мы можем вывести на экран.
Сегодня мы рассмотрим все основные области конкатенации строк в PHP: как это сделать, зачем вы будете это делать, что такое оператор конкатенации в PHP, а также некоторые недостатки чрезмерного выполнения конкатенации строк в PHP.
Понимание конкатенации строк в PHP: соединение двух строк
Мы используем «конкатенацию строк» для объединения последовательностей символов в PHP
Итак, мы создаем много HTML на PHP. И даже когда мы этого не делаем, мы часто обрабатываем текст. По этим причинам мы часто хотим объединить два разных колодца, строка
с. (Под этим я подразумеваю конкретный тип данных, строку, в отличие от целого числа
или других.)
Итак, мы используем «конкатенацию строк», чтобы соединить вещи в PHP. Мы можем использовать его, чтобы поместить число в строку, или, что еще чаще, мы объединяем строку с другой или другой строкой.
Оператор конкатенации PHP:
.
Оператор конкатенации строк PHP — это точка.
.
.
Если вы программировали на другом языке, вы, возможно, сталкивались с использованием +
(плюс) символ, чтобы объединить две (или более) строки. Например, так работает конкатенация строк в JavaScript. Вместо этого в PHP мы используем .
символа (точка или десятичная точка) для объединения строк. Итак, когда вы ставите точку, .
, символ лучше две разные строки в кавычках, или переменная и строка, или переменная и переменная, результатом будет одна строка, которую PHP либо будет готов вывести (например, с echo
), либо выполнить дальнейшую обработку.
Судя по тому, к чему вы привыкли в английском языке, оператор конкатенации PHP — это .
может выглядеть странно. Но я обещаю, как только вы узнаете, что происходит, вы привыкнете к этому и прочитаете это довольно легко.
Как объединить строки в PHP
Хорошо, пора переходить к делу. Вот код, демонстрирующий, как PHP concat выглядит на практике. Вот три различных способа, которыми мы можем вывести на экран
строку «Hello World» в PHP:
вывести на экран «Hello World»; // выводит "Привет, мир" $привет = 'Привет'; эхо $привет.' Мир'; // выводит "Привет, мир" $мир = 'Мир'; $hello_world = $привет.' '.$ мир; эхо $hello_world; // выводит "Привет, мир"
Приведенный выше код глуп: вторые два примера излишне сложны. Но мы делаем их простыми, чтобы мы могли ознакомиться с задействованными концепциями.
Самая первая строка нашего примера кода — просто пример очень банального использования echo
в PHP для отображения строки. Вы сделаете это, когда захотите, чтобы текст из «страны PHP» отображался в HTML ваших страниц. Мы знаем, что последовательность "Hello World"
является «строкой», потому что она заключена в двойные (или одинарные) кавычки.
Наш следующий блок сначала определяет одну строку, просто слово Hello
, а затем добавляет к ней строку World
перед тем, как вывести их на вывод. В PHP добавление строки к строке очень распространено. Мы делаем это, чтобы позволить нам определить часть последовательности дальше от того места, где мы решили ее отобразить. (Часто намного дальше , чем в этом примере.)
Наконец, наш последний блок создает две новые переменные: слово World
, а затем фразу Hello World
в виде одной строки. Таким образом, последний дает нам пример PHP, который будет соединять строки с разделителем. В нашем случае разделителем является просто пробел. Ошибка, которую я часто делаю в PHP-коде, — это забывание пробела, но эту ошибку легко исправить. Просто добавьте дополнительную строку пробела (или пробел к другой строке, если хотите).
Объединение возможностей PHP: добавление строк и переменных
В приведенном выше коде мы видели наглядные примеры конкатенации строк PHP. Но мы можем использовать PHP для объединения других типов переменных со строками в определенных пределах. Эти ограничения: мы не можем выполнять конкатенацию сложных типов данных, таких как объекты или массивы, в строки без дополнительной работы.
Но «более простые» типы данных PHP, такие как целые числа и числа с плавающей запятой (в общем, числа), очень часто встречаются в PHP в виде конкатенации. Это будет выглядеть примерно так:
$процентов = 12,1 + 9 + 41,21; echo 'Ваш окончательный счет: '.$percentage.' из 100%.'; // выводит "Ваш итоговый балл: 62,31 из 100%." $ целое = 1 + 17; эхо $integer.' сантиметров в длину'; // выводит "18 сантиметров в длину"
В обоих примерах мы помещаем число ( float
в первом случае, integer
во втором) напрямую в строку через конкатенацию. Поскольку PHP выполнит для нас «жонглирование типами», чтобы преобразовать это число в строку, мы можем сделать это быстро и легко. В PHP добавление к строкам с конкатенацией легко для базовых типов с очевидными строковыми версиями.
Интерполяция строк PHP? Использовать одинарные или двойные кавычки?
Итак, вещь, которую я редко использую, но очень хорошо понимаю, это интерполяция строк PHP. Что я имею в виду (как и большинство людей, которые могли бы сказать это) под «интерполяцией строк», это то, где вы на самом деле встраиваете $variable
в строку в PHP, и она немедленно заменяется базовым значением $variable
. Это будет выглядеть примерно так:
$number = 4; echo "У нее в гараже $number машин."; // выводит "У нее в гараже 4 машины." echo "У нее в гараже {$number} машин."; // выводит "У нее в гараже 4 машины."
Несколько важных вещей по поводу вышеизложенного. Во-первых: оба оператора echo
приведут к выводу «У нее в гараже 4 машины». Во-вторых, мы, таким образом, знаем, что упаковка {}
не показывать. В-третьих, очень важно, чтобы и в приведенных выше операторах, и в строках использовались двойные кавычки: "
, а не одинарные '
. В PHP вы должны сопоставить символ открывающей и закрывающей кавычки для ваших строк.
Далее , вы можете , при использовании двойных кавычек разрешить движку PHP интерполировать переменную в нее Таким образом, мы могли бы сделать то же самое с одинарными кавычками, только если бы мы сделали:
$number = 4; echo 'У нее есть '.$number.' автомобили в ее гараже.'; // выводит "У нее в гараже 4 машины."
Здесь мы используем оператор конкатенации PHP, .
снова, вместо того, чтобы полагаться на интерполяцию строк PHP. В обоих этих вариантах есть и хорошее, и плохое. И все три работают нормально. Накладные расходы на производительность при использовании интерполяции строк для строк в двойных кавычках достаточно малы, поэтому я не думаю, что вам следует об этом беспокоиться. Но вы услышите, как люди указывают на (верный) факт, что третий пример в этом разделе (очень незначительно) быстрее.
Странный шар:
.=
Является составным присваиванием в PHP Наконец, вы увидите, что это иногда используется, и это очень актуально для темы. Вы можете использовать комбинацию .
и =
как присваивание, так и объединение. Чтобы лучше понять это, давайте вернемся к этим примерам из предыдущих:
$hello = 'Hello'; $мир = 'Мир'; $hello_world = $привет.' '.$ мир; эхо $hello_world; // выводит "Привет, мир"
Я ничего не менял в приведенном выше коде. Но вы можете написать PHP для соединения двух строк совершенно другим способом. Выглядит так:
$output = 'Привет'; $ вывод .= ' '; $выход .= 'Мир'; эхо $ вывод; // выводит "Привет, мир"
Таким образом, это объединяет в конец нашей строки $output
пробел ( ), а затем слово
World
. Таким образом, в результате мы получаем точно такой же вывод.