php实现字符串翻转
php实现字符串翻转你可能首先想到的是php内置函数 strrev();

从运行结果可以看出strrev翻转字符串中如果有中文,就会返回乱码。
所以这里一定要考虑字符集编码问题。
<?php
function str_rev($str){
if(!is_string($str) || !mb_check_encoding($str,"UTF-8")){
return ("字符串编码类型不正确");
}
$len = mb_strlen($str,"UTF-8");
$new_str = '';
for($i=$len-1;$i>=0;$i--){
$new_str .= mb_substr($str,$i,1,"UTF-8");
}
return $new_str;
}
echo str_rev("我们是中国人haha"); //输出ahah人国中是们我
function str_rev_two($str){
//判断输入的是不是utf8类型的字符,否则退出
f(!is_string($str) || !mb_check_encoding($str,'UTF-8')){
exit("输入类型不是UTF8类型的字符串");
}
$len = mb_strlen($str,"UTF-8");
$arr = array();
for($i=0;$i<=$len;$i++){
$arr[] = mb_substr($str,$i,1,"UTF-8");
}
//翻转数组
krsort($arr);
return implode($arr);
}
浙公网安备 33010602011771号