温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

PHP字符串如何实现逆序排列

发布时间:2021-07-08 09:55:26 来源:亿速云 阅读:167 作者:小新 栏目:开发技术

小编给大家分享一下PHP字符串如何实现逆序排列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

具体如下:

关于字符串的逆序排列,最简单的使用PHP函数strrev()的测试代码如下:

header('Content-type: text/html; charset=utf-8'); $str = implode('', range(9, 0)); print '< p><strong>Before reversed: </strong>'.$str.'< /p>'; print '< p>< strong>After reversed: < /strong>'.strrev($str).'< /p>'; /* 输出如下: Before reversed: 9876543210 After reversed: 0123456789 */

如果不用内置的PHP函数strrev(),又该如何实现呢?这里另外给出了3种方法(二分法、循环法、递归法),但没有进行性能测试。

PS:这里为了方便大家阅读代码,使用了本站在线php代码格式化工具http://tools.jb51.net/code/jb51_php_format进行了格式化处理。)

1、二分法

/** * 二分法实现字符串逆序排列 * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') {   $len = strlen($str);   //不能使用count或sizeof   $mid = floor($len/2);   for ($i=0; $i<$mid; $i++) {     $temp = $str[$i];     $str[$i] = $str[$len-$i-1];     $str[$len-$i-1] = $temp;   }   return $str; }

2、循环法

/** * 循环实现对字符串的逆序排列(效率比二分法低) * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') {   $result = '';   for ($i=1; $i<=strlen($str); $i++) {     $result .= substr($str, -$i, 1);   }   return $result; }

3、递归法

/** * 递归实现对字符串的逆序排列(效率低) * @param string $str 源字符串 * @return string 返回逆序后的字符串 */ function reverse($str='') {   static $result = '';   /* 用堆栈来理解递归调用 */   if (strlen($str) > 0) {     reverse(substr($str, 1));     $result .= substr($str, 0, 1);     //此句必须放在上一语句之后   }   return $result; }

以上是“PHP字符串如何实现逆序排列”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI