广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现字符串无乱码翻转
  • 289
分享到

php怎么实现字符串无乱码翻转

php翻转 2016-11-27 21:11:03 289人浏览 绘本
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现字符串无乱码翻转?PHP中实现中文字符串反转避免乱码的方法 : 今天博主在网上看php面试题的时候,看到了这么一个问题,如何实现字符串反转,当时想不是有

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么实现字符串无乱码翻转?

PHP中实现中文字符串反转避免乱码的方法 :

今天博主在网上看php面试题的时候,看到了这么一个问题,如何实现字符串反转,当时想不是有一个内置函数strrev能实现这个功能吗?后来试了一下,这个函数只能对英文字符进行反转,对中文会有乱码出现。主要原因还是编码上的问题。

PHP中utf-8编码中文当作3个字节计算,gb2312当作2个字节计算。所以想要实现中文字符串的一些功能,首先就要解决编码问题。

今天这个功能就是从编码处下手的。接下来开始讲实现的功能,今天要用到这么几个函数:

is_string()//判断参数是否为字符串,这个大家应该都知道
mb_check_encoding()//用来检查给定的字符串是否属于指定的编码
mb_strlen()//用来获取字符串长度
mb_substr()//用来截取字符串中的字符
krsort()//将数组按键名由大到小排序上述

上面用到了3个mb开头的函数,mb开头的函数都是用于处理多字节字符串的,主要是能指定字符串编码。

mb_check_encoding()接受两个参数,第一个参数要是字符串,第二个参数是输入一个字符编码,然后判断该字符串是否属于该编码,返回一个bool值,若省略第二个参数则默认为内部编码,可通过mb_internal_encoding()查看。

mb_strlen()有两个参数,第一个是字符串内容,第二个是字符串的编码。

mb_substr()有四个参数,第一个是要截取的字符串内容,第二个是开始截取的位置,第三个是截取的长度,第四个是字符串的编码(在本例中要选择utf-8,其他编码都不会得到正确的结果)。

接下来就是完整的代码了,简略的注释都已经标注好了,其实只要看一遍都能看懂:

<?php
    header("Content-type:text/html;charset=utf-8");
    $s="这是我的技术博客,欢迎多多来访!";
                             
    function str_rev($str){
        //先判断参数是否为字符串,且为UTF8编码
        if(!is_string($str)||!mb_check_encoding($str,"utf-8")){
            die("输入的不是utf8类型的字符串");
        }
                                 
        //用mb_strlen函获取算utf8字符串的长度
        $length=mb_strlen($str,"utf-8");
                                 
        //声明一个数组备用
        $arr=array();
                                 
        //将字符串拆开放入数组
        for($i=0;$i<$length;$i++){
            $arr[$i]=mb_substr($str,$i,1,"utf-8");
        }
                                 
        //将数组按键名大小反转
        krsort($arr);
                                 
        //将数组中单个字符元素重新组合成字符串
        $str=implode("",$arr);
                                 
        //将翻转后的字符串返回
        return $str;
    }
                             
    echo $s."<br>";
    echo str_rev($s);

?>

如果文中有任何错误,敬请指出,以便完善。

--结束END--

本文标题: php怎么实现字符串无乱码翻转

本文链接: https://www.lsjlt.com/news/437.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php怎么实现字符串无乱码翻转
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现字符串无乱码翻转PHP中实现中文字符串反转避免乱码的方法 : 今天博主在网上看PHP面试题的时候,看到了这么一个问题,如何实现字符串反转,当时想不是有一...
    99+
    2016-11-27
    php 翻转
  • php如何实现字符串无乱码翻转
    这篇文章主要讲解了“php如何实现字符串无乱码翻转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何实现字符串无乱码翻转”吧!php实现字符串无乱码翻转的方法:1、创建一个PHP示例文...
    99+
    2023-06-25
  • php字符串翻转怎么实现
    这篇文章主要介绍了php字符串翻转怎么实现,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php字符串翻转的代码是“strrev(string)”,参数string用于规定要翻...
    99+
    2023-06-20
  • php如何实现字符串翻转
    在php中使用strrev()函数对字符串进行翻转,具体方法如下:strrev()函数作用:php中strrev()函数的作用是用于反转一个字符串,并输出。strrev()函数语法:strrev(string)参数:string:需要反转的...
    99+
    2022-10-05
  • php字符串乱码怎么解决
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php字符串乱码怎么解决?PHP iconv()函数字符编码转换的问题在php中iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库;...
    99+
    2015-07-03
    php 乱码
  • php怎么实现数字转字符串
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php怎么实现数字转字符串strval() 函数用于获取变量的字符串值。语法string strval ( mixed $var )参数说明:$var: 可以是任何标量类...
    99+
    2020-01-26
    php 数字 字符串
  • php字符串部分乱码怎么办
    php字符串部分乱码的解决办法:1、使用“mb_substr(strip_tags($str),0,-1,'UTF-8');”截取字符串;2、使用“iconv("UTF-8",&quo...
    99+
    2023-05-14
    php 乱码 字符串
  • php 16进制转字符串出现中文乱码怎么解决
    在使用 PHP 进行 16 进制转字符串操作时,有时会出现中文乱码的问题。这个问题可能出现在很多情况下,比如从数据库中读取数据时,或者是接受用户输入时。本文将介绍一些常见的中文乱码问题,并提供一些解决方法。从数据库中读取数据时出现中文乱码如...
    99+
    2023-05-14
    php
  • php字符串反转怎么实现
    要实现字符串反转,在PHP中可以使用strrev()函数。strrev()函数会将字符串中的字符顺序进行反转。下面是一个例子:```...
    99+
    2023-10-10
    php
  • 怎么利用python、php或c语言等实现字符串的翻转
    这篇文章主要讲解了“怎么利用python、php或c语言等实现字符串的翻转”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么利用python、php或c语言等实现字符串的翻转”吧!原题:Q:...
    99+
    2023-06-09
  • php5实现字符串翻转的函数是什么
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php5实现字符串翻转的函数是“strrev()”。strrev() 函数反转字符串。语法:strrev(string)返回值:返回已反转的字符串。示例:<php...
    99+
    2019-08-20
    php 字符串翻转
  • php怎样实现数字转字符串
    php怎样实现数字转字符串,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。php实现数字转字符串的方法:1、创建一个PHP示例文件;2、定义一个数字;3、通过“s...
    99+
    2023-06-29
  • php 怎么实现asc转为字符串
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php 怎么实现asc转为字符串PHP - ASCII码与字符之间的转换ASCII码转字符:<php $i = 65; $ch = chr($i); var_dum...
    99+
    2019-08-02
    php asc
  • php怎么实现字符串的反转
    实现字符串反转的两种方法:1、使用for语句倒序遍历字符串,在循环体中用substr()函数从后向前截取一个个字符,并拼接成新字符串,语法“$r='';for($i=字符串长度-1;$i>=0;$i--){$...
    99+
    2022-07-12
    php字符串 php
  • 利用perl、python、php、shell、sed、awk、c 实现字符串的翻转
    原题: Q:有a.txt文件,里面内容如下 1234569 abcABCabc 要求使用awk打印出以下结果 987654321 cbaCBAcba A: shell :[root@vps tmp]# r...
    99+
    2022-06-04
    字符串 php python
  • C++实现LeetCode(151.翻转字符串中的单词)
    [LeetCode] 151.Reverse Words in a String 翻转字符串中的单词 Given an input string, reverse the strin...
    99+
    2022-11-12
  • php5实现字符串翻转的函数是哪个
    这篇文章主要讲解了“php5实现字符串翻转的函数是哪个”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php5实现字符串翻转的函数是哪个”吧!php5实现字符串翻转的函数是“strrev()”...
    99+
    2023-06-25
  • php怎么实现字符转电码
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。php怎么实现字符转电码?开通标准电码查询API接口:通过https://www.juhe.cn/docs/api/id/211s=cpphpcn注册及开通接口说明:...
    99+
    2022-10-26
  • php 字符串怎么转url实体
    本文操作环境:Windows7系统,PHP7.4版,Dell G3电脑。php 字符串怎么转url实体?PHP字符串url解析和实体转换:通过parse_url()解析url,并且返回其组成部分:<php $str = ...
    99+
    2021-01-26
    php
  • python字符串转数字怎么实现
    要将字符串转换为数字,可以使用int()或float()函数来实现。具体的实现方式如下: 使用int()函数将字符串转换为整数: ...
    99+
    2023-10-23
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作