PHP面试题--带中文字符串反转

PHP自带的 strrev( ) 函数只可以反转英文,如果字符串中有中文就会产生乱码。

这里要用到 iconv 函数,iconv_strlen( ) 不会像 strlen( ) 一样把中文当做3个字符。

同理 iconv_substr( ) 也能很好的切割中文。

function strReverse($str1){
    $str2 = '';
    $len = iconv_strlen($str1);
    for($i = $len - 1; $i > -1; $i--){
        $str2 .= iconv_substr($str1,$i,1);
    }
    return $str2;
}

其实还有类似的mb_strlen( ) 等,原理大致都是要先进性GBK或者UTF8转码再计算。

猜你喜欢

转载自blog.csdn.net/z772532526/article/details/80549046