rss vk ok facebook twitter

Функции работы со строками в PHP

Основные в php строковые функции необходимо знать любому веб-программисту, так как строка в РНР — это самый главный тип данных. Длина строки практически ничем не ограничена (разве что размером памяти, занимаемым сценарием и физическим остатком ресурсов компьютера), поэтому в строку можно прочитать файл среднего размера и обработать его. Также к строке можно привести любой объект с помощью функции serialize().

Основные строковые функции PHP

Перечень полезных строковых функций PHP удобнее всего представить в виде таблицы. Функции приводятся без параметров — просто название функции и ее краткое описание. Далее мы рассмотрим некоторые из этих функций отдельно.

Функция Описание
chop() Удаляет пробельные символы в конце строки
convert_cyr_string() Используется для преобразования кодировок русского языка
explode() Выделяет подстроки (поля) из строки
HtmlSpecialChars() Заменяет специальные символы их HTML-эквивалентами, например < будет заменено эквивалентом &lt
ltrim() Похожа на trim(), но удаляет пробельные символы только в начале строки
md5() Кодирует указанную строку с помощью алгоритма MD5
nl2br() Заменяет все символы новой строки (\п) тегом
. Очень полезная функция в веб-программировании
pack() Запаковывает бинарные данные
str_replace() Используется для замены в строке
strcasecmp() To же, что и предыдущая функция, но производит сравнение без учета регистра символов
strcmp() Используется для сравнения строк
strip_tags() Удаляет все HTML-теги из строки
strlen() Определяет длину строки
strpos() Производит поиск подстроки в строке
strtolower() Преобразует все символы строки в нижний регистр
strtoupper() Преобразует все символы строки в верхний регистр
substr() Возвращает определенную подстроку
trim() Функция помогает избавиться от пробельных символов в начале и в конце строки
unpack() Распаковывает бинарные данные
urldecode() Раскодирует строку, которая была ранее закодирована с помощью urlencode()
urlencode() Кодирует строку для ее передачи в URL (символы, которые не могут быть представлены в URL, например символы русского языка, заменяются их кодами)
wordwrap() Используется для разбивки текста

Определение длины строки в PHP

Функция strlen используется очень часто, поскольку значение длины строки требуется для многих ее преобразований. Использовать ее очень просто — передайте ей строку, а функция вернет количество символов, например:

$str = "Привет!";
echo strlen($str);

Поиск и замена в строке PHP

Для поиска в строке используется функция strpos(). Ей нужно передать три параметра — строку, в которой нужно произвести поиск, искомую строку и позицию начальной строки, с которой нужно начинать поиск. Если поиск нужно начать с начала строки, то позицию можно не указывать. Функция возвращает позицию, с которой начинается вхождение искомой строки в начальную строку. Если искомая строка не найдена, функция возвращает false.

Вот пример использования функции strops():

$position = strpos("Привет, мир", "мир");
if ($position === false) echo "Искомая подстрока не найдена";
else echo "Искомая строка начинается с позиции $position";

Что касается замены текста, то для ее осуществления используется функция str_replace(). Функция такого вида str_replace(строка1, строка2, строка3) – заменяет в строка3 все вхождения строка1 на строка2.

echo str_replace("привет", "пока", "При встрече я говорю привет");

Сравнение строк в PHP

Функции strcmp() strcasecmp() используются для сравнения строк. Первая функция осуществляет сравнение строк с учетом регистра символов, а вторая — без учета. Функции возвращают следующие значения:

  • 0, если лексикографически строки равны;
  • -1, если первая строка лексикографически меньше, чем вторая (например строка «Арбуз» лексикографически меньше, чем строка «Борис»);
  • 1, если первая строка лексикографически больше, чем вторая (например строка «Борис2» лексикографически больше, чем «Борис1»).

Что такое лексикографическое сравнение строк? Представьте, что у вас есть два слова, и вам нужно расположить их по алфавиту в порядке возрастания. Возьмем те же слова «Арбуз» и «Борис». Первое слово начинается на букву «А», которая в алфавите следует раньше буквы «Б», на которую начинается второе слово. Поэтому первая строка будет лексикографически меньше второй строки.

Работа с подстроками в PHP

Функция substr(строка, число1, число2) возвращает подстроку, начинающуюся с позиции число1 и длиной число2. Попробуйте выполнить код:

echo substr("Hello, world!", 2, 4);

Первый параметр — это исходная строка. Второй параметр — начало подстроки, а третий параметр (он н еобязательный) — длина подстроки. Если третий параметр не задан, то подстрока возвращается до конца исходной строки.

$sub = substr("машина", 4); //возвращает "на"
$sub = substr("машина", 2, 4); //возвращает "шина"

Очень мощной является функция explode(), позволяющая извлечь все подстроки, разделенные разделителем. Предположим, что у нас есть вот такая строка: «Строка1;Строка2;Строка3».

$str = "Строка1;Строка2;Строка3";

При вызове explode() мы должны указать два параметра: разделитель и исходная строка.

$A = explode(";", $str);

Функция возвращает список, содержащий наши строки.

Array
(
 [0] => Строка1
 [1] => Строка2
 [2] => Строка3
)

На этом пока все, но в PHP есть и другие полезные строковые функции, которые активно применяются веб-программистами на практике. О них я обязательно расскажу в одной из своих новых статей.

К этой статье добавлено 3 комментариев

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *