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>";