解决办法:
先把中文字符串打散成数组,然后用krsort()函数对数组按键名降序排序,排好序之后再用implode()或join()函数将数组合并成字符串。
<?php
header("content-type:text/html;charset=UTF-8");
$str='反转中文';
$str_arr=ch2arr($str);//将中文字符串打散成数组
krsort ( $str_arr ); // 将数组按照键名降序排序
$str = implode ( '', $str_arr );//反转后的字符串
var_dump($str);
function ch2arr($str){//将中文字符串打散成数组
$length = mb_strlen($str);//mb_strlen($str)将一个多字节字符计为1个,详情见php手册
$array = [];
for ($i=0; $i<$length; $i++){
$array[] = mb_substr($str, $i, 1, 'utf-8');//跟mb_strlen()函数一样将多字节字符计为一个
}
return $array;
}