您现在的位置是:群英 > 开发技术 > PHP语言
PHP怎样对中文字符无乱码翻转?教你两个方法
Admin发表于 2022-01-14 18:36:2523 次浏览

    PHP怎样对中文字符无乱码翻转?对于字符翻转很多朋友都觉得比较简单,使用strrev()函数不久可以了吧,直接使用使用strrev()函数对字符串翻转,英文字符是没有问题的,但是中文字符可能会有中文乱码的问题,那么究竟怎样翻转中文字符才无乱码呢?

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

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

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

    strrev定义和用法

    strrev() 函数反转字符串。

    语法

strrev(string)

    参数

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

    例如:

<?php
echo strrev("Hello World!");
?>

    输出结果为:!dlroW olleH

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

    例如:

<?php
echo 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怎样对中文字符无乱码翻转的方法就分享到这,上述两个方法具有一定的参考价值,感兴趣的朋友可以了解看看。想要了解更多PHP的字符操作作,大家可以关注其它的相关文章。

文本转载自PHP中文网

相关信息推荐
2021-12-08 19:18:11 
摘要:这篇文章主要介绍用PHP怎样创建一个日历类的内容,对大家学习PHP会有一定的帮助,下文示例代码具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
2021-11-24 17:53:57 
摘要:这篇文章给大家分享的是关于python并发编程的内容,python中的并发编程是Python学习的重要知识,是需要掌握的,下文介绍了进程、线程、并发编程解决方案、多线程实现等等,感兴趣的朋友接下来一起跟随小编看看吧。
2022-01-11 18:40:53 
摘要:这篇文章我们来了解Python的除法运算符的相内容,下文会给大家介绍“/”运算符,‘//’整除运算符和’%‘求余运算符的用法,文中还有示例可以参考,对新手学习Python的应用会有一定的帮助,那么感兴趣的朋友接下来就跟随小编来了解看看吧!
群英网络助力开启安全的云计算之旅
立即注册,领取新人大礼包
  • 联系我们
  • 24小时售后:4006784567
  • 24小时TEL :0668-2555666
  • 售前咨询TEL:400-678-4567

  • 官方微信

    官方微信
Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
微信公众号
返回顶部
返回顶部 返回顶部