Как перевернуть строку задом на перёд на PHP

Форум для тех кто начинает осваивать язык php.
Аватара пользователя
Slash
Администратор
Сообщения: 2073
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 67 раз

Как перевернуть строку задом на перёд на PHP

Сообщение Slash » Вс окт 09, 2016 8:51 am

В PHP есть функция strrev, чье предназначение переворачивать строку задом на перед. Пример:

Код: Выделить всё

$value = 'Leo Tolstoy';
echo strrev($value); 
На экране мы увидим:
yotsloT oeL
Вы конечно не могли не заметить, что текст написан латинскими символами, если написать текст кириллицей:

Код: Выделить всё

$value = 'Лев Николаевич Толстой';
echo strrev($value);
То мы получим совсем не то, что ожидается:
�оЂсѻоТ� �ѸвеалокиН� �еЛ�
Для переворачивания строки написанной кириллическими символами в PHP не функции, по крайней мере я не нашел. Я решил немного поэкспериментировать и вот, что получилось (код прокомментировал):

Код: Выделить всё

$value = 'Лев Николаевич Толстой';

$conversely = null;              // Создаем переменную
$count      = mb_strlen($value); // Считаем количество символов в строке

for ($i = 1; $i <= $count; $i++) // Запускаем цикл
{
    $conversely .= mb_substr($value, -$i, 1); // Добавляем по одному символу с конца строки
}

echo $conversely; // Выводим результат на экран  
Результат:
йотслоТ чивеалокиН веЛ
Спасибо за внимание.
Надеюсь, данная информация была Вам полезна.

Реклама

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость