PHP倒序字符串函数求解(递归)

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

求解,为什么结果是olleh?
没有理解为什么会倒序,就算分割字符串重新组合,也应该是hello啊~~
我自己理解的函数过程如下:
1、判断字符串位数大于0 第一次运行结果为true
2、第一次使用substr取字符串 结果为ello
3、打印substr(ello,0,1) 结果为e
4、返回e字符串到函数中
我知道我的过程理解对不对,求大神指导一下。

凤凰求蛊
浏览 447回答 1
1回答

素胚勾勒不出你

第三步错了。2、第一次使用substr取字符串 结果为ello3,因为又调用了reverse_r,所以再次进入步骤1。 这个叫递归
打开App,查看更多内容
随时随地看视频慕课网APP