浅谈php字符串反转 面试中经常遇到

yipeiwu_com5年前PHP代码库

1.单字节字符串反转

php提供了用于字符串反转的函数strrev()

$str = 'abcdef';
echo strrev($str);

2.对于包含中文的多字节字符串需要用到mb_substr()

$str = '字符串反转';
function rev($str, $encoding = 'utf-8'){
 $len = mb_strlen($str);
 $result = '';
 for ($i = $len-1; $i>=0; $i--){
  $result.= mb_substr($str,$i,1,$encoding);
 }
 return $result;
}
echo rev($str);

3.算法实现 首位交换

$str = 'abcdefg';
$len = strlen($str);
$times = $len/2;
for($i = 0;$i <= $times; $i++ ){
 $tmp = $str[$i];
 $str[$i] = $str[$len-$i-1];
 $str[$len-$i-1] = $tmp;
}
echo $str;

以上这篇浅谈php字符串反转 面试中经常遇到就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

ThinkPHP实现递归无级分类——代码少

具体代码如下: /** * 无级递归分类 * @param int $assortPid 要查询分类的父级id * @param mixed $tag 上...

解决phpmyadmin中文乱码问题。。。

解决phpmyadmin中文乱码问题。。。 去phpMyAdmin的根目录下,打开以下这个文件: libraries/select_lang.lib.php    1、找到有"zh-gb...

PHP中opcode缓存简单用法分析

本文实例讲述了PHP中opcode缓存简单用法。分享给大家供大家参考,具体如下: 1.什么是opcode 解释器分析代码之后,生成可以直接运行的中间代码,就称做操作码,opcode 2....

ThinkPHP模板标签eq if 中区分0,null,false的方法

在做项目的时候发现在ThinkPHP的模板标签eq中,对于0、null、false的判断是一样的,也就是说如果变量是这三个值的话就无法区分了,搞的我很郁闷,翻了下官方手册没找到,想想不应...

php查看session内容的函数

如:name|s:4:"tasm";passwd|s:6:"111111";mode|s:1:"1",也知道该session存放的位置,而且可以上传文件,所以嘛,当时就做了一次小小的黑客...