本文实例总结了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./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相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php排序算法总结》、《PHP常用遍历算法与技巧总结》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
# PHP
# 字符串
# 逆序排列
# strrev函数
# 二分法
# 循环法
# 递归法
# 使用PHP实现二分查找算法代码分享
# PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
# php二分法在IP地址查询中的应用
# php二分查找二种实现示例
# 深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
# php顺序查找和二分查找示例
# php 数组二分法查找函数代码
# php数据结构与算法(PHP描述) 查找与二分法查找
# php中二分法查找算法实例分析
# 数据结构之利用PHP实现二分搜索树
# 递归
# 程序设计
# 操作技巧
# 放在
# 相关内容
# 出了
# 遍历
# 感兴趣
# 上一
# 数据结构
# 给大家
# 种方法
# 最简单
# 更多关于
# 所述
# 进行了
# 如何实现
# 性能测试
# 又该
# 使用了
相关文章:
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
C++如何使用std::optional?(处理可选值)
建站之星展会模版如何一键下载生成?
如何高效生成建站之星成品网站源码?
网站app免费制作软件,能免费看各大网站视频的手机app?
如何在Golang中使用replace替换模块_指定本地或远程路径
Python路径拼接规范_跨平台处理说明【指导】
如何在万网主机上快速搭建网站?
,如何利用word制作宣传手册?
建站之星上传入口如何快速找到?
建站org新手必看:2024最新搭建流程与模板选择技巧
免费ppt制作网站,有没有值得推荐的免费PPT网站?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
如何基于云服务器快速搭建个人网站?
如何在腾讯云服务器快速搭建个人网站?
如何挑选优质建站一级代理提升网站排名?
广州商城建站系统开发成本与周期如何控制?
如何快速辨别茅台真假?关键步骤解析
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
建站之星安装模板失败:服务器环境不兼容?
网站制作说明怎么写,简述网页设计的流程并说明原因?
如何规划企业建站流程的关键步骤?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
建站之星后台密码遗忘或太弱?如何重置与强化?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
如何自定义建站之星网站的导航菜单样式?
如何选择高效可靠的多用户建站源码资源?
如何批量查询域名的建站时间记录?
SQL查询语句优化的实用方法总结
建站上传速度慢?如何优化加速网站加载效率?
云南网站制作公司有哪些,云南最好的招聘网站是哪个?
建站之星导航如何优化提升用户体验?
php条件判断怎么写_ifelse和switchcase的使用区别【对比】
免费网站制作appp,免费制作app哪个平台好?
linux top下的 minerd 木马清除方法
如何快速搭建FTP站点实现文件共享?
建站OpenVZ教程与优化策略:配置指南与性能提升
如何用5美元大硬盘VPS安全高效搭建个人网站?
C++如何编写函数模板?(泛型编程入门)
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?
股票网站制作软件,网上股票怎么开户?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
建站主机选购指南:核心配置优化与品牌推荐方案
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
西安专业网站制作公司有哪些,陕西省建行官方网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。