PHP不使用任何内置函数实现字符串翻转
实现字符串翻转PHP本身自带一个函数就可以解决,strrev函数。这里不适用任何内置函数实现字符串翻转
案例一(纯字母):
$str = 'abcdefghig k'; //假设测试的字符串/g与k之间有一个空格
//php中的字符串可以看做数组来处理,比如代码输出 echo $str[4]; ,结果为 e,也就是abcdefghigk的第四个字母
function str_rev ($str)
{
for ($i = 0; true; $i++) //true模拟死循环
{
if (!isset($str[$i])){ //如果没有数据,也就是超出字符串长度,那么跳出死循环
break;
}
}
//那么字符串长度就是$i - 1
$last_str = '';
for ($j = $i - 1; $j >=0 ; $j -- )
{
$last_str .= $str[$j];
}
return $last_str;
}
echo str_rev($str);
k gihgfedcba //输出结果
案例二(有中文,且包含内置函数):
$str = 'abcd卡忙北鼻abc d';
function str_rev($str,$encoding='utf-8'){
$result = '';
$len = mb_strlen($str);
for($i=$len-1; $i>=0; $i--){
$result .= mb_substr($str,$i,1,$encoding);
}
return $result;
}
echo str_rev($str);
d cba鼻北忙卡dcba //输出结果