php中的return false,PHP中return true跟return false 筋斗云网络

今天在论坛里面碰到一个问题感觉很有必要备份一下,是关于递归的return true跟return false的问题!这个问题对于接触过PHP的人都有过这样的经历吧?备份一下,留给以后学习的phper们!做一个参考:

论坛问题:

这两天一直被 return 搞的云里雾里。

比如说昨晚老师讲的递归:

PHP

1

2

3

4

5

6

7

8

//这是老师的代码:

functionmk_dir($path){

if(is_dir($path)){

returntrue;

}

returnis_dir(dirname($path))||mk_dir(dirname($path))?mkdir($path):false;

}echomk_dir('./a/b/c/d/e')?'OK':'false';

但我理解了老师的语意后

1.如果path直接存在,那就直接跳出

2.其它情况,那肯定是else了。我把代码写成了如下:

PHP

1

2

3

4

5

6

7

8

9

10

functionmk_dir($path){

if(is_dir($path)){

returntrue;//这里不加true跟加true有什么区别?

}else{

is_dir(dirname($path))||mk_dir(dirname($path))?mkdir($path):false;

}

}

echomk_dir('./a/b/c/d/e')?'OK':'false';        //但是结果是:false 只创建a目录

看似简单的reture,到我这里怎么就这么难理解呢。我提出如下几个问题:

1.这个return 撒时候用?

2.return 和return true 和 reture false 用在什么时候 ?

3.return 后面接一句代码 与 直接一条代码 有什么区别?

问题回帖者:

一楼:

递归是不太好理解,要想清楚什么时候该'递' 什么时候该'归' return就看作'归',如果一去不归,那就是坑爹.

二楼:

楼上说的很好! 调用是递,return 就是归的过程

./a/b/c/d/e 等./a/b/c/d/创建归来

./a/b/c/d 等 ./a/b/c/创建归来

./a/b/c/ 等 ./a/b/创建归来

./a/b/ 等 ./a/创建归来

a创建成功了,可你不归去告诉b呀......,

第5只小猴摘了桃子后不回去告诉第4只猴,第4只猴子哭了.

三楼:三楼画着这张图真的很棒!

e766bc8b907d4e31211a96a40756121a.png

以上就是关于PHP中return true跟return false的理解。更新到这,如果还有不是很明白的同学那就再取百度咯!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值