您的位置:首页 > 编程语言 > PHP开发

PHP字符串反转

2017-02-13 22:54 190 查看
最近项目经历要我们学PHP了,遇到一个字符串反转的问题。描述如下

我们是asld中国好青年023


结果要为:

320年青好国中dlsa是们我


PHP刚学没几天,ThinkPHP已经上架了,都是累,提供两个方法,记录一下:

public function checkZh($data) {
$len = strlen($data) ;
for($i = 0 ; $i < $len ; $i++) {
$pr = $data{0} ;

if(ord($pr) > 127) { //ord函数为计算ASCII函数,大于127的默认为汉字
$i += 2 ;
if($i < $len) {
$arr[] = substr($data,0,3) ; //UTF_8中汉字占3个字节
$data = substr($data,3);
}
}else {
$arr[] = $pr ;
$data = substr($data, 1) ;
}
}
return join(array_reverse($arr)) ;
}


这个方法主要是逐步替换字符串。

方法二:

public function checkZh2($data) {
$len = strlen($data) ;

$start = 0 ;
$bet = 0 ;
while($start < $len){
$temp = $data{$start} ;
$bet = ord($temp) > 127 ? 3 : 1 ;
$array[] = substr($data, $start , $bet) ;
$start += $bet ;
}

return join(array_reverse($array)) ;
}


这个主要是记录字符的位移数据。

刚入门PHP不超过3天,大神勿喷,要脸。特此记录一下。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: