Перевернуть строку на PHP
Самая популярная задача на собеседованиях это переворот строки без использования функции srtrev. Решил добавить свои 5 копеек, какой я вижу эту задачу.
Первое решение на знание других встроенных функций (никто ведь не запрещал использовать их).
$s = "123abc"; preg_match_all('/./u', $s, $a); echo implode('', array_reverse($a[0]));
Второе решение с использованием операции конкатенации выглядит еще проще.
$s = "123abc"; for ($i = strlen($s); $i >= 0; $i--)
И напоследок решение которым можно удивить своего работодателя, если он слабо понимает булеву алгебру.
$s = "123abc"; $a = -1; $b = strlen($b); while (++$a
Перевернуть строку в PHP
Считаете ли вы этот сниппет полезным? То поделитесь этим с друзьями или коллегами. Это поможет нам сделать наши бесплатные веб-инструменты лучше.
Перевернуть строку с использованием strrev() функции:
Попробуй сам »
Будьте осторожны, это не работает со строками unicode.
Обратная строка без использования strrev() но с поддержкой utf-8 кодировки:
=0; $i--) < $r .= mb_substr($str, $i, 1); >return $r; > echo mb_strrev("❤WTOOLS☆");
Попробуй сам »
Похожие снипеты
- Преобразование римские цифры в числа
- Преобразовать байты в Кб, Мб
- Конвертирование кода страны из ISO ALPHA 2 в ALPHA 3
- Нулевое дополнение числа
- Преобразование числа в римские цифры
- Инвертировать HEX цвет
- Конвертировать HEX в RGB
О нас
WTOOLS — набор Веб Инструментов для разработчиков, вебмастеров, СЕО специалистов, и других людей чей бизнес в интернете. Все интсрументы полностью бесплатны.
Copyright © 2016-2023 by wtools.io. All rights reserved.
Hosted By DigitalOcean.
strrev
Возвращает строку string , перевёрнутую задом наперёд.
Список параметров
Возвращаемые значения
Возвращает перевёрнутую строку.
Примеры
Пример #1 Пример использования strrev()
echo strrev ( «Hello world!» ); // выводит «!dlrow olleH»
?>?php
User Contributed Notes 3 notes
3 years ago
/**
* Reverse a miltibyte string.
*
* @param string $string The string to be reversed.
* @param string|null $encoding The character encoding. If it is omitted, the internal character encoding value
* will be used.
* @return string The reversed string
*/
function mb_strrev ( string $string , string $encoding = null ): string
$chars = mb_str_split ( $string , 1 , $encoding ?: mb_internal_encoding ());
return implode ( » , array_reverse ( $chars ));
>
?>
It’s faster and flexible than tianyiw function (comment #122953)?php
5 years ago
This function support utf-8 encoding, Human Language and Character Encoding Support:
function mb_strrev ( $str ) $r = » ;
for ( $i = mb_strlen ( $str ); $i >= 0 ; $i —) $r .= mb_substr ( $str , $i , 1 );
>
return $r ;
>
echo mb_strrev ( «☆❤world» ); // echo «dlrow❤☆»
?>
3 years ago
Inside of String Reverse strrev()
————————— ——-
$string = ‘This is manoj’ ;
$n = strlen ( » $string » );
For( $i = 1 ; $i $val = $string [- $i ];
echo $val ;
>
?>
- Copyright © 2001-2023 The PHP Group
- My PHP.net
- Contact
- Other PHP.net sites
- Privacy policy
Перевернуть строку в PHP
Подскажите еще варианты алгоритмов/реализаций подобного преобразования.
Отслеживать
задан 31 окт 2018 в 9:21
313 2 2 серебряных знака 10 10 бронзовых знаков
strrev — поддерживает UTF
31 окт 2018 в 9:36
@AlexanderSemikashev где об этом написано?
31 окт 2018 в 9:39
@u_mulder, а где написано что не поддерживает?
31 окт 2018 в 9:42
В мануале не написано. Собственно, ответ ниже это вариант из комментов.
31 окт 2018 в 9:43
strrev поддерживает все кодировки, потому что не работает с ними. функция инвертирует порядок байт, а уж как там уровнем выше эти байты интерпретирует клиент — проблема клиента. поэтому верно и утверждение «поддерживает utf» и любое другое типа «поддерживает <вставь любое значение>«вставь>
