中文字符串反转

<?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 );
/*  得到结果:
  *  这是我的技术博客,欢迎多多来访!
  *  !访来多多迎欢,客博术技的我是这
  */
?>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值