分享

php递归函数return问题

 昵称21532077 2018-07-05
2016年12月03日 10:57:54
阅读数:2180

在递归函数中返回值问题

  1. /* 循环去除字符串左边的0 */
  2. function removeLeftZero($str){
  3. if($str['0'] == '0'){
  4. $str = substr($str, '1');
  5. removeLeftZero($str);
  6. }else{
  7. return $str;
  8. }
  9. }

在大多数人看来这段代码没有问题,如果不是运行一下也不知道问题出在哪?这样运行以后如果是递归是不会有返回值的,递归后即使满足else条件也不会有返回值,应该改为

  1. /* 循环去除字符串左边的0 */
  2. function removeLeftZero($str){
  3. if($str['0'] == '0'){
  4. $str = substr($str, '1');
  5. return removeLeftZero($str); // 给函数增加返回值
  6. }else{
  7. return $str;
  8. }
  9. }


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ren365880/article/details/53443090
个人分类: php      

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多