<?php
    //php实现字符串翻转,包含中文汉字
    //substr() 函数返回字符串的一部分。substr(string,start,length)
    //ord() 函数返回字符串第一个字符的 ASCII 值。
    //join() 函数把数组元素组合为一个字符串。
    //array_reverse() 函数将原数组中的元素顺序翻转,创建新的数组并返回。

function turnstr($str) {
    $len = strlen($str);  // 计算字符串的长度
    for($i=0;$i<$len;$i++) {
        $char = $str[0];
        if(ord($char)>127){
            $i++;
            if($i<$len){
                $arr[] = substr($str, 0, 2);
                $str = substr($str, 2);
            }
        }else{
            $arr[] = $char;
            $str = substr($str, 1);
       }
    }
   return join(array_reverse($arr));
}
$str = 'xingdong 前后端';
echo turnstr($str);
?>

以上只适用于gbk编码,如果是utf-8编码,把

$i++;
if($i<$len){
    $arr[] = substr($str, 0, 2);
    $str = substr($str, 2); 
}

替换成

$c_len = (is_utf8)?2:1;
$i += $c_len;
if($i < $len){
    $arr[] = substr($str, 0, $c_len+1); 
    $str = substr($str, $c_len+1);
}