PHP. Вывод строки в обратном порядке. Создание собственной функции mb_strrev
PHP. Вывод строки в обратном порядке. Создание собственной функции mb_strrev для работы с кириллицей.
Для вывода строки в обратном порядке существует функция strrev.
Но существует и проблема. Данная функция некорректно работает с кириллицей.
В данной статье будет описан процесс создания собственной функции mb_strrev для работы с кириллицей и кодировкой utf-8.
Назовем функцию mb_strrev.
Определим в ней пустую строковую переменную в которой в дальнейшем будет содержаться конечный полученный результат.
Создаем цикл где $i будет равен длине строки с учетом кодировки UTF-8 для работы с буквами русского алфавита и начинаем перебирать посимвольно с конца строки:
Далее используя функцию mb_substr, с каждым шагом цикла, посимвольно получаем строку в кодировке UTF-8 и присваиваем строковой переменной $strrev.
После чего функция возвращает полученный результат:
Код полученной функции mb_strrev:
Протестируем работу функции:
Полученный результат:
Для вывода строки в обратном порядке существует функция strrev.
Но существует и проблема. Данная функция некорректно работает с кириллицей.
В данной статье будет описан процесс создания собственной функции mb_strrev для работы с кириллицей и кодировкой utf-8.
Назовем функцию mb_strrev.
Определим в ней пустую строковую переменную в которой в дальнейшем будет содержаться конечный полученный результат.
$strrev = "";Создаем цикл где $i будет равен длине строки с учетом кодировки UTF-8 для работы с буквами русского алфавита и начинаем перебирать посимвольно с конца строки:
for($i = mb_strlen($string, "UTF-8"); $i >= 0; $i--) {Далее используя функцию mb_substr, с каждым шагом цикла, посимвольно получаем строку в кодировке UTF-8 и присваиваем строковой переменной $strrev.
$strrev .= mb_substr($string, $i, 1, "UTF-8");После чего функция возвращает полученный результат:
return $strrev;Код полученной функции mb_strrev:
function mb_strrev($string)
{
$strrev = "";
for($i = mb_strlen($string, "UTF-8"); $i >= 0; $i--) {
$strrev .= mb_substr($string, $i, 1, "UTF-8");
}
return $strrev;
}Протестируем работу функции:
echo mb_strrev("тестирование кириллического текста");Полученный результат:
атскет огоксечиллирик еинаворитсет

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.