php最难,那个PHP中号称最难的‘递归函数’
昨天处理了一些私事,所以耽搁了一天,好在递归函数比较难以理解,所以今天有幸听了一遍:这个基于回调函数而存在的函数,的确不太好理解,需要将逻辑上的想法完全梳理通才可以顺利书写,这还是在拥有公式的情况下。
在经理的带领下,我们做了一个用递归函数打开当前文件夹,并且读取文件夹内所有文件的一个函数,现将代码整理如下:<?php
//打开文件夹:opendir;
// $a = opendir('.');
// //读取内容:readdir(资源名);
// $b = '';
// while(($b = readdir($a)) !== false){
// echo $b."
";
// }
// closedir($a);
?>
function digui($path,$n=0){
$a = opendir($path);
//读取内容:readdir(资源名);
$b = '';
while(($b = readdir($a)) !== false){
if($b == '.' ||$b == '..'){
continue;
}
echo str_repeat("--", $n);
if(is_dir($path."/".$b)){
echo "文件夹".$b,"
";
//当需要一层层地打开所有文件夹之时,因为重复的就是此函数本身,所以使用递归。
digui($path."/".$b,$n+1);
continue;
}
echo $b."
";
}
closedir($a);
}
// $a = '.';
digui(".");
?>
一眼看上去,代码本身不算难,但中间出了一个困扰许久的问题就是在使递归函数自身重复的时候,$n++和$n+1的问题,涉及到了它会怎样显示。
还有,continue和break在函数本身不涉及到循环时,是不可以使用的,否则会出现致命性错误,而die函数则可以在终止函数的同时,停止die命令之后所有的PHP,号称终极剧毒。
网上所说的“die”和“exit”一个终止代码且清理缓存,另一个只终止代码,纯属谣传,二者的源代码一模一样,只是个别名而已,特此标记出来。
以上。
晚安。
还有,希望经理明天身体恢复健康。
php最难,那个PHP中号称最难的‘递归函数’相关推荐
- PHP里面最难的是那部分,那个PHP中号称最难的‘递归函数’
昨天处理了一些私事,所以耽搁了一天,好在递归函数比较难以理解,所以今天有幸听了一遍:这个基于回调函数而存在的函数,的确不太好理解,需要将逻辑上的想法完全梳理通才可以顺利书写,这还是在拥有公式的情况下. ...
- 哈哈日语 五十音图中发音最难的四个假名
关于五十音图的发音,网上学习资源很多,就不一一解释了.这里只挑五十音图中发音最难把握的4个假名「え」「す」「つ」「ふ」来讲一讲. 首先,「え」(e)的发音,因为中文里有e这个音,所以很多人都会把「え」 ...
- 人工智能中的算法难吗?AI算法构建有多难?
目前人工智能的深度学习算法是建立在大数据的基础上的,人工智能在工作过程中首先要对大数据进行挖掘,然后再利用大数据训练人工智能模型.人工智能中的算法难吗?AI算法构建有多难?本篇来解释一下这个问题. 人 ...
- 这届清华新生太难了吧!C++作业难到上热搜,特奖都说做不了,大厂猎头已密切关注...
十三 鱼羊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 本科大一,刚学了16周C++,能做个什么项目? 清华大学自动化系2020年的大一C++大作业,是这样要求的: 开发一款集合雨课堂和网络 ...
- 中南财经政法大学计算机考研难吗,中南财经政法大学考研难吗(考研难度分析)...
中南财经政法大学简称中南大,这所武汉学校在湖北省排名还是可以的,学校在武汉还是属于211学校,想要去中南财经政法大学的考研的,需要提前知道以下几点? 中南财经政法大学考研难考吗 中南财经政法大学是21 ...
- 到底是无线最难?还是核心网最难?
作者 | 小枣君 来源 | 鲜枣课堂 今天这篇文章,我们来探讨一个通信行业的长期争议话题--到底是无线最难?还是核心网最难? 众所周知,通信行业虽然对外统称"通信",但实际上,内部 ...
- java左手画圆右手画方_左手画圆,右手画方真的很难吗?为什么人们很难做到呢?...
导语:左手画圆,右手画方真的很难吗?为什么人们很难做到呢? 我们经常会看到有些人能够实现左手画圆.右手画方的这一个行为,并且是可以通过这样的方式来训练自己身体的协调能力的,那么当我们自己去尝试的时候, ...
- 大学化学专业和计算机哪个难,2021大学什么专业比较难学
2021大学什么专业比较难学2021-02-05 15:28:41文/李文源 大学里十三大学科,哪一个专业最难学?小编今天整理了关于大学什么专业比较难学的相关内容,来看看吧! 大学什么专业比较难学 1 ...
- 英语和c语言哪个难,英语四级跟高考哪个难?90%的人都会这么说!
老生常谈,高考英语考得好,那过四级容易吗?说到英语四级跟高考哪个难?我一定要发言!高考英语成绩高能不能过四级,我不是很清楚!但是,高考英语成绩不好,能不能过四级?我再清楚不过了!到底怎么回事?且听我慢 ...
最新文章
- Spring框架中有哪些不同类型的事件
- SAP云平台上的Low Code Development(低代码开发)解决方案
- mysql同步大师_数据库大师成长日记:您最需要了解的NoSQL非关系型数据库
- 禁止访问Apache目录
- Android之MediaProjectionManager实现手机截屏总结
- 1260 不一样的A+B
- win10家庭版 安装docker并成功使用
- 数据分析写作——程序员的另外一种输出
- 扑克游戏的洗牌算法及简单测试
- jq ajax渲染数据慢,Jquery Ajax 如何实现延时加载 。即很多网站上面的Loading。。。动态提时候,延时几秒,才显示出服务器的响应数据...
- 极光推送源码api封装改造
- Multisim14.0详细安装教程
- 等差素数列 蓝桥杯 python
- 阿里字体图标库iconfont的使用详解
- 群控进化史,黑产攻击效率提升带来的防守困境
- 表单环境外访问Xrm.Page.context对象
- html5大全,常用html5标签大全 - 小俊学习网
- rangeOfString 失效了
- 复频域求零输入响应_零输入响应是齐次解的一部分
- 中关村科技企业家协会网安创新分会在京成立,墨云科技成为首批会员单位
热门文章
- linux mint 14 shurufa
- XAML实例教程系列 - 类型转换器(Type Converter)
- 去年五一的大理丽江之行,今年的得在加班中度过了
- GO语言实现设计模式【全】
- 认识目标文件的格式—— a.out COFF PE ELF
- Dijkstra算法求单源最短路径
- K8s运行dashboard命令启动报错:no endpoints available for service \kubernetes-dashboard\
- 按照salary的累计和running_total,其中running_total为前两个员工的salary累计和
- JAVA常用的XML解析方法
- 多线程与多进程(转载)