PHP. Вывод строки в обратном порядке. Создание собственной функции mb_strrev
Данный материал предоставлен сайтом
PacificSky.Ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
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("тестирование кириллического текста");
Полученный результат:
атскет огоксечиллирик еинаворитсет
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.