php中文字符串反转函数代码

发布时间:2019-07-19编辑:脚本学堂
支持中文字符串反转的php函数,不使用strrev实现字符串反转,因为不支持中文,这里用自定义php函数完成字符串反转操作,支持汉字的反转字符串函数代码。

php strrev() 函数能实现字符串反转,但是不支持中文,利用mb_系列函数可以进行中文字符串反转。

代码如下:
 

/**
 * 中文字符串反转
 * @param $str
 * @param string $charset
 * @return string
 */
function reverse($str, $charset = 'UTF-8')
{
    $ret = '';
    $len = mb_strlen($str, $charset);
    for ($i = 0; $i < $len; $i++) {
        $ret[] = mb_substr($str, $i, 1, $charset);
    }
 
    return implode('', array_reverse($ret));
}

php 支持汉字的反转字符串函数

php 自带函数 strrev,该函数可以将字符串反转。

例如:
 

$str = 'abcdef';
echo strrev($str);

输出:
fedcba
该函数并不支持中文,如果字符串含有中文,那么汉字将会乱码

例子,支持反转包括汉字的字符串反转函数:
 

function mb_strrev($str) {
  $len = mb_strlen($str, 'UTF-8');
  $arr = array();
  for ($i = 0; $i < $len; $i++) {
    $arr[] = mb_substr($str, $i, 1, 'UTF-8');
  }
return implode('', array_reverse($arr));
}
 

调用:
 

$str = '记者获some-letters-here悉嫦娥二号发射工作准备全部就绪';
echo mb_strrev($str);