php实现中文反转字符串的方法

 1 <?php
 2 
 3 header("content-type:text/html;charset=utf-8");
 4  /**
 5 此函数的作用是反转中文字符串
 6 mb_strlen() 获取字符的长度
 7 mb_substr() 获取字符的单个元素
 8 krsort() 按照键值逆序排序数组
 9 implode() 将数组拼接为字符串
10 explode() 使用字符串分隔字符串
11  */
12 function str_rev_gb($str){
13     //判断输入的是不是utf8类型的字符,否则退出
14     if(!is_string($str)||!mb_check_encoding($str,'UTF-8')){
15         exit("输入类型不是UTF8类型的字符串");
16     }
17     $array=array();
18     //将字符串存入数组
19     $l=mb_strlen($str,'UTF-8');
20     for($i=0;$i<$l;$i++){
21         $array[]=mb_substr($str,$i,1,'UTF-8');
22     }
23     //反转字符串
24     krsort($array);
25     //拼接字符串
26     $string=implode($array);
27     return $string;
28 }
29 $str1 = "Englist";
30 $str2 = "English中国";
31 $str3 = "Eng中lish国";
32 $str4 = "中华人民共和国";
33 echo $str1."->".str_rev_gb($str1)."<br>";
34 echo $str2."->".str_rev_gb($str2)."<br>";
35 echo $str3."->".str_rev_gb($str3)."<br>";
36 echo $str4."->".str_rev_gb($str4)."<br>";