阐述:使用PHP语言有一段时间了,今天看见某段代码中的static 关键字。突然脑海中想到 static 和 没有static 区别是什么呢?通过案例来讲解,需求是我指定一个目录。统计出这个目录下“有多少个目录数”和“有多少个文件”以及分别显示有哪些“文件夹/ 文件”。
1, 这是要获取的目录结构,共计是(3个目录):
2, 在此就直接贴代码了,这是“没写static” 关键字运行结果:
发现和“源目录”数量和go函数获取的不一致,测试结果:
3,加上“static” 关键字后,经过确认“文件和目录”都均是正确:
总结:有的人就好奇为啥加上static 关键字就正确了呢? 那是因为static 变量的生命周期超过了函数生命周期,最终变量还在内存中。去掉后成局部变量函数执行完即释放,所以保存下来的变量是最后一次的执行结果!