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