php如何实现翻转

本文操作环境:Windows7系统、php7.1版、Dell G3电脑。

创新互联建站成立与2013年,先为青铜峡等服务建站,青铜峡等地企业,进行企业商务咨询服务。为青铜峡企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

php如何实现翻转?PHP自定义函数实现翻转中文的功能

对于PHP语言来说,说到字符串翻转大家首先想到应该就是strrev()这个函数了,

strrev定义和用法

strrev() 函数反转字符串。

语法

strrev(string)

参数

string 必需。规定要反转的字符串。

例如:

输出结果为:!dlroW olleH

strrev()这个函数对英文很好用,直接可以实现字符串翻转,但是如果是中文的话那么就都是乱码了

例如:

输出结果为:��疸佥娂� 这个结果是不是没有人能看得懂啊。那么下面于老师就给大家分享一下如何反转中文的代码;

第一种方法:

function selfStrrev($str){
//判断输入的是不是utf8类型的字符,否则退出
  if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
    exit("输入类型不是UTF8类型的字符串");
  }
  $array=array();
  //将字符串存入数组
  $l=mb_strlen($str,'UTF-8');//在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算
  for($i=0;$i<$l;$i++){
    $array[]=mb_substr($str,$i,1,'UTF-8');
  }
  //反转字符串
  krsort($array);
  //拼接字符串
  $string=implode($array);
  return $string;
}
$str = "于老师特别帅";
echo selfStrrev($str);

输出结果为:帅别特师老于;

第二种方法:

function selfStrrev($str){
//判断输入的是不是utf8类型的字符,否则退出
  if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
    exit("输入类型不是UTF8类型的字符串");
  }
  //定义一个新的字符串 用来存储反转后的字符串
  $revStr = "";
  $l=mb_strlen($str,'UTF-8');//在mb_strlen计算时,选定内码为UTF8,则会将一个中文字符当作长度1来计算
  for($i=$l;$i>0;$i--){
    $revStr .= mb_substr($str,$i-1,1,'UTF-8'); //从最后一位开始截取,一直截取到第一位 然后拼接到定义好的新的字符串里面
  }
  return $revStr;
}
$str = "于老师特别帅";
echo selfStrrev($str);

输出结果为:帅别特师老于;

这里用到的技术就是mb_XXX 系列函数,需要注意的mb_XXX 系列函数是并不是PHP核心函数,使用前需要确保在php.ini中加载了php_mbstring.dll,即确保“extension=php_mbstring.dll”这一行存在并且没有被注释掉,否则会出现未定义函 数的问题;

本文标题:php如何实现翻转
网页URL:http://www.shufengxianlan.com/qtweb/news20/34070.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联