PHP. Вывод строки в обратном порядке. Создание собственной функции mb_strrev

PHP. Вывод строки в обратном порядке. Создание собственной функции mb_strrev для работы с кириллицей.
PHP. Вывод строки в обратном порядке. Создание собственной функции 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("тестирование кириллического текста");


Полученный результат:
атскет огоксечиллирик еинаворитсет
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика
  • Счетчик PR-CY.Rank
  • Рейтинг@Mail.ru