PHP实现字符串反转

$str = "DAIYUANPEI1992";
 
// 使用strrev()函数
function f1($str){
    $result = strrev($str);
    return $result;
}
 
// 使用strlen()函数
function f2($str){
    $len = strlen($str);
    $newStr = '';
    while( $len ){
        $newStr .= $str[$len-1];
        $len --;
    }
    return $newStr;
}

// 包含中文的多字节字符串需要用到mb_substr()函数
function f3($str, $encoding = 'utf-8'){
    $len = mb_strlen($str);
    $result = '';
    for ($i = $len-1; $i>=0; $i--){
        $result .= mb_substr($str,$i,1,$encoding);
    }
    return $result;
}
 
// 算法实现 位置交换
function f4($str){
    $len = strlen($str);
    $times = $len/2;
    for($i = 0;$i <= $times; $i++ ){
        $tmp = $str[$i];
        $str[$i] = $str[$len-$i-1];
        $str[$len-$i-1] = $tmp;
    }
    return $str;
}

// 递归实现实现反转
function f5($str){
    if(strlen($str)>0){
        $o = substr($str,0,1);
        return f5(substr($str,1)).$o;
    }else{
        return $str;
    }
}
 
// 不使用函数情况
function f6($str){
    $o = '';
    $i = 0;
    while(isset($str[$i]) && $str[$i] != null) {
        $o = $str[$i++].$o;
        echo  $o."\n";
        return $o;
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值