<?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);
}
已有 0 条评论