循环缓存的问题

mt_rand() 比rand() 快四倍

return会退出方法,并且下面的语句不再执行。并返回对应的信息到 调用该方法的地方;

注意if()for() while()等,如果里面有return则会退出循环,并且循环外下面的if等语句也不再执行。

break不同,它只能用于循环中,并且只是退出当前的循环,循环外下面的能执行

 

100个0原因 :本来数字应该越来越大,但是缓存问题第一次读取的时候为0,又因为这个进程需要循环100次没有结束,所以0这个结果被缓存起来了,所以下次读取filesize还是0.如果刷新一下执行第二次就会变成390,实际上不止开发的时候一般不会遇到这么极端的情况,解决方案清一下缓存,在会缓存的方法前清除一下缓存cleanstatcache($path,true)

cleanstatcache($path,true) :函数清除文件状态缓存。多次检查同一个文件,而该文件在此脚本执行期间有被删除或修改的危险时,你需要清除文件状态缓存,以便获得正确的结果。

会进行缓存的函数

stat() lstat() file_exists() is_writable() is_readable() is_executable()

is_file() is_dir() is_link() filectime() fileatime() filemtime()

fileinode() filegroup() fileowner() filesize() filetype() fileperms()

 

 

原文地址:https://www.cnblogs.com/lzhlearn/p/5804877.html