描述:将句子“student. a am I ”转成“I am a student.”
<?php $str = 'student. a am I'; //$str = 'I am a student.'; /** * @desc: 句子翻转(使用array方式) * @param null $str * @return string * @author: icehill * @date: */ function revSentence($str = null) { $arr = explode(' ', $str); $len = count($arr); $res = ''; for ($i = $len - 1; $i >= 0; $i--) { $res .= $arr[$i] . ' '; } return $res; } echo revSentence($str);echo "\t"; //字符串翻转 /** * @desc: 字符串翻转 * @param $str * @return mixed * @author: icehill */ function reverseStr($str) { //mb_strlen中文字符当作长度1来计算,strlen中文当做3 if (strlen($str) <= 1) { return $str; } $len = strlen($str); $low = 0; $high = $len - 1; while ($low < $high) { $char = $str[$low]; $str[$low] = $str[$high]; $str[$high] = $char; $low++; $high--; } return $str; } /** * @desc: 句子翻转 * @param null $str * @return string * @author: icehill */ function reverseSentence($str = null) { $str = reverseStr($str);var_dump($str); $len = strlen($str); $low=0; $res=''; for ($i = 0; $i < $len - 1; $i++) { if($str[$i]==' '){//遇见空字符认为是单词结尾 //如果区分中文,则用mb_substr $res.=reverseStr(substr($str,$low,$i-$low));//单词翻转 $res.=' '; $low=$i+1; } } $res.=reverseStr(substr($str,$low,$len-$low)); return $res; } echo reverseSentence($str);
作者心情:昨夜西风凋碧树,独上高楼,望尽天涯路。
如无特殊说明,文章均为本站原创,转载请注明出处
- 转载请注明来源:字符串翻转
- 本文永久链接地址:http://icehill.cn/post/single/info/219.html