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;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章