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

Привет друзья! Сегодня пишем шпаргалку на тему:  Строковые функции PHP.
Вот за что я люблю программирование, так это за то, что при изучении не перестаешь удивляться  его возможностям.
Вот и строковые функции PHP могут творить чудеса. Смотрите сами, что они могут вытворять. Давайте начнем.

Функция strtolower(строка); — преобразовывает строку в нижний регистр. Данная функция неправильно работает с кириллицей. (Здесь и далее, может возникнуть вопрос. А за каким хреном ты ее пишешь. Ответ — а вдруг именно она попадется вам например при чтении чужого кода).
mb_strtolower(строка) —  работает аналогичным образом, но корректно обрабатывает кириллицу.

<?php
echo strtolower(‘ABC’);
?>

strtoupper(строка); — преобразовывает строку в верхний регистр, неправильно работает с кириллицей. Используйте функцию mb_strtoupper(строка); — работает аналогичным образом, но корректно обрабатывает кириллицу.

<?php
echo strtoupper(‘abc’);
?>

ucfirst(строка); — преобразует первый символ строки в верхний регистр. Не работает с кириллицей.

<?php
echo ucfirst(‘hello’);
?>

lcfirst(строка); — преобразует первый символ строки в нижний регистр. Не работает с кириллицей.

<?php
echo lcfirst(‘Hello’);
?>

ucwords(строка); преобразует первый символ каждого слова в строке в верхний регистр. Не работает с кириллицей.

<?php
echo ucwords(‘hello world’);
?>

Функция strlen(строка); — возвращает длину строки (количество символов в строке). Неправильно работает с кириллицей.
mb_strlen(строка); — работает аналогичным образом, но корректно обрабатывает кириллицу).

substr(строка, откуда, [сколько]); — вырезает и возвращает подстроку из строки. Сама строка при этом не изменяется. Нумерация символов строки начинается с нуля.
Второй параметр может быть отрицательным — в этом случае отсчет начнется с конца строки, при этом последний символ будет иметь номер -1. Последний параметр можно не указывать — тогда отрезание произойдет до конца строки. Неправильно работает с кириллицей.
mb_substrsubstr(строка, откуда, [сколько]); — работает аналогичным образом, но корректно обрабатывает кириллицу.

<?php
echo substr('abcdef', 1); //вернет bcdef 
?>

Функция str_replace(что меняем, на что меняем, где меняем); -ищет в строке заданный текст и меняет его на другой. Первым параметром функции принимает что меняем, а вторым — на что меняем. Это могут быть две строки или два массива (тогда элементы одного массива заменятся на соответствующие элементы второго массива).
Функция str_ireplace — делает тоже самое, но без учета регистра.

<?php
echo = str_replace(‘a’, ‘!’, ‘abcabc’); // заменит все найденные буквы ‘a’ на ‘!’
?>

strtr осуществляет поиск и замену символов в строке.
Может принимать массив замен: ключами служит то, что мы меняем, а значениями — на что будем менять:
strtr(где меняем, массив замен);

<?php
echo strtr(‘111222’, [‘1’=>’a’, ‘2’=>’b’]);//заменит символы 1 и 2 на ‘a’ и ‘b’ Результат: aaabbb
?>

Или принимать строку с символами, которые будут заменены, а другим параметром строку с символами, на которые будет производится замена.
strtr(где меняем, что меняем, на что меняем);

<?php
echo strtr(‘111222′, ’12’, ‘ab’); //заменит символы 1 и 2 на ‘a’ и ‘b’ Результат: aaabbb
?>

substr_replace(где меняем, на что меняем, с какого символа, [сколько символов]); — заменяет указанную часть строки на другую. Если последний параметр не указан — заменит до конца строки.

strpos(где ищем, что ищем, [откуда искать]); — возвращает позицию первого вхождения подстроки в другую строку.
Результатом выполнения функции будет позиция первого символа найденной подстроки, а если такая подстрока не будет найдена — то false. Нумерация идет с нуля и, если подстрока находится в начале строки, то результат будет 0.
По умолчанию функция ищет с начала строки. Если задан третий параметр, то поиск начнется с указанного места.

<?php
echo strpos(‘abc cabc’, ‘c’); // вернет 2 т.к. отсчет с 0
?>

strrpos(где ищем, что ищем, [откуда искать]); — возвращает позицию последнего вхождения подстроки.
Результат функции — позиция первого символа найденной подстроки, а если такая подстрока не будет найдена — то false, нумерация идет с нуля .

<?php
echo strrpos(‘abc abc’, ‘a’); //Результат: 4
?>

strstr(где ищем, что ищем); — находит первое вхождение подстроки в строку и возвращает часть строки начиная этого места до конца строки.

Есть еще похожие строковые функции PHP — strchr которая находит первое вхождение одного символа и возвращает оставшуюся часть строки. И функция strrchr — находит последнее вхождение символа и возвращает оставшуюся часть строки.

В примере ниже эта строковая функция PHP возвратит адрес страницы без доменного имени из url (вернет подстроку, начиная с первого /, до конца строки)

<?php
echo strstr(‘site.ru/folder1/folder2/page.html’, ‘/’);
//Результат: /folder1/folder2/page.html
?>

explode(разделитель, строка); — разбивает строку в массив по определенному разделителю.

<?php
$date = ‘2025-12-31’;$arr = explode(‘-‘, $date);var_dump($arr);
//Результат: [‘2025′, ’12’, ’31’]
?>

implode(разделитель, строка); — сливает массив в строку с указанным разделителем.

<?php
$arr = [‘a’, ‘b’, ‘c’];
$str = implode(‘-‘, $arr);
echo $str;
//Результат: a-b-c
?>

str_split(строка, количество символов в элементе массива); — разбивает строку в массив.
На пример, если второй параметр задать как 3 — функция разобьет строку в массив и в каждом элементе массива будет по 3 символа.

<?php
$str = ‘abcdef’;
$arr = str_split($str, 2);
var_dump($arr);
//Результат: [‘ab’, ‘cd’, ‘ef’];
?>

trim(строка); trim(строка, символы); — удаляет пробелы с начала и конца строки. Может также удалять другие символы, если их указать вторым параметром.

Есть также функции ltrim и rtrim,
которые делают то же самое, но ltrim только для левого края строки, а rtrim — для правого.

<?php
var_dump(trim(‘ hello ‘));
//удалит пробелы по краям строки
?>

strrev(строка); — переворачивает строку так, чтобы символы шли в обратном порядке.

<?php
echo strrev(‘12345’);
?>

Многовато строковых функций получилось, больше чем основных математических, но здесь еще далеко не все. Кстати все строковые функции PHP всегда можно подсмотреть в справочнике функций PHP. Так что зазубривать наизусть смысла нет.


Рубрики: Основы PHP Тэги: |
Понравилась статья? Поделись!
        

Всего комментариев: 0

Оставить комментарий

Ваш email не будет опубликован.