php 中文字符串反转【字符串】

场景:英文字符串反转 使用 方法  strrev($str)  ,但是中文字符串怎么反转呢?

代码

/**
 * 多字符 字符串反转
 * @param string $string 字符串
 * @param string $encoding 编码
 * php >= 7.4  否则需要实现 mb_str_split 多字符变成字符串
 */
function mb_strrev($string , $encoding = null){
    if(is_null($encoding)){
        $encoding = mb_internal_encoding();
    }
    // 把字符串变成数组
    $arr = mb_str_split($string , 1 ,$encoding);
    // 数组反转
    return implode('',array_reverse($arr));
}

输出 

var_dump(mb_strrev('你好 hello w阿斯利康大家坷拉就少得可怜ord!'));
// string(57) "!dro怜可得少就拉坷家大康利斯阿w olleh 好你"

引用: mb_str_split 实现方式

php中mb_str_split分割字符串为数组的函数介绍与使用以及低版本php函数实现_php split字符串分割字符串_豆子林的博客-CSDN博客mb_str_split将返回一个字符串数组,这是一个支持字符变长编码以及1、2、4字节字符定长编码版本的str_split()。 如果指定了length参数,则将字符串按指定的字符长度(而不是字节长度)拆分为块。 可以选择指定encoding参数,这样是很好的做法。mb_str_split函数将返回字符串数组。php8.0开始此函数在失败时不再返回false,而是返回空数组。_php split字符串分割字符串https://blog.csdn.net/llgde/article/details/131367251

附上代码: 

/**
 * 分割字符串
 */
if (!function_exists('mb_str_split')) {
    function mb_str_split($string, $split_length = 1, $encoding = null)
    {
        if (is_null($encoding)) {
            $encoding = mb_internal_encoding();
        }
 
        if ($split_length < 1) {
            return [];
        }
 
        $length = mb_strlen($string, $encoding);
        $parts = [];
        for ($i = 0; $i < $length; $i += $split_length) {
            $parts[] = mb_substr($string, $i, $split_length, $encoding);
        }
 
        return $parts;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值