鍍金池/ 問答/PHP/ PHP倒序字符串函數(shù)求解(遞歸)

PHP倒序字符串函數(shù)求解(遞歸)

function reverse_r ($str){
    if(strlen($str) >0 ){
        reverse_r(substr($str,1));
    }
    echo substr($str,0,1);
    return;
}
reverse_r("hello");

求解,為什么結(jié)果是olleh?
沒有理解為什么會(huì)倒序,就算分割字符串重新組合,也應(yīng)該是hello啊~~
我自己理解的函數(shù)過程如下:
1、判斷字符串位數(shù)大于0 第一次運(yùn)行結(jié)果為true
2、第一次使用substr取字符串 結(jié)果為ello
3、打印substr(ello,0,1) 結(jié)果為e
4、返回e字符串到函數(shù)中
我知道我的過程理解對不對,求大神指導(dǎo)一下。

回答
編輯回答
短嘆

圖片描述

2018年8月8日 21:31
編輯回答
蝶戀花

第三步錯(cuò)了。
2、第一次使用substr取字符串 結(jié)果為ello
3,因?yàn)橛终{(diào)用了reverse_r,所以再次進(jìn)入步驟1。

這個(gè)叫遞歸

2017年2月13日 18:18