php递归实现(PHP递归统计系统中代码行数)
类别:编程学习 浏览量:279
时间:2021-10-19 06:45:13 php递归实现
PHP递归统计系统中代码行数本文实例为大家分享了PHP递归统计系统中代码行数的具体代码,供大家参考,具体内容如下
1、统计代码行数,必然用到的两个关键的知识点:函数递归以及文件读取。
函数递归无非就是在函数的代码中调用本身的函数名,以此形成递归循环
|
function A( $param ){ if ( 'condition' ) A( $param_son ); else return $result ; } |
在文件读取中,有很多读取方式,采用了file()读取,按行读取,形成一个数组。
|
$file_open = file( $file ); |
2、完整的代码
|
<?php /** * Created by PhpStorm. * User: kung * Date: 2015/10/16 * Time: 16:12 */ function get_file_dir( $dir ){ $dir_arr = scandir( $dir ); $file_arr = array (); foreach ( $dir_arr as $dir_one ){ if ( is_dir ( $dir .DIRECTORY_SEPARATOR. $dir_one ) && $dir_one != '.' && $dir_one != '..' ){ $file_arr_son = get_file_dir( $dir .DIRECTORY_SEPARATOR. $dir_one ); $file_arr = array_merge ( $file_arr , $file_arr_son ); } else { if ( $dir_one == '.' || $dir_one == '..' || strpos ( $dir_one , '.php' ) <= 0) continue ; $file_arr [] = $dir .DIRECTORY_SEPARATOR. $dir_one ; } } return $file_arr ; } $dir = dirname( __FILE__ ); $file_arr = get_file_dir( $dir ); $count = 0; //计算换行 $clean_count = 0; //不计算换行 foreach ( $file_arr as $file ){ $file_open = file( $file ); $line_count = count ( $file_open ); $count += $line_count ; foreach ( $file_open as $file_val ){ if ( $file_val == PHP_EOL) /*if(nl2br($file_val) == '<br />'想通过这种方式,但是发现不可行,用var_dump(nl2br($file_val))进行打印,复制才可以*/ continue ; $clean_count ++; } } echo $count . '-----' . $clean_count ; |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/kissxia/article/details/49181625
您可能感兴趣
- php命名对照表(PHP命名空间用法实例分析)
- php命名空间真的存在吗(PHP中命名空间的使用例子)
- thinkphp中view视图的作用(Thinkphp5.0框架视图view的模板布局用法分析)
- thinkphp6.0安装(使用composer安装使用thinkphp6.0框架问题视频教程)
- php和xml有什么关系(PHP创建XML的方法示例基于DOMDocument类及SimpleXMLElement类)
- phpsession怎么用(PHP实现提高SESSION响应速度的几种方法详解)
- php服务器有哪些(php服务器的系统详解)
- php返回数组值最大的键(PHP实现通过二维数组键值获取一维键名操作示例)
- 排序算法口诀php(PHP快速排序算法实现的原理及代码详解)
- php运用redis实现抢购实例(PHP+redis实现微博的拉模型案例详解)
- php不能用mysql(php写入mysql中文乱码的实例解决方法)
- php开发各种问题(解决php extension 加载顺序问题)
- thinkphp继承model如何使用(Thinkphp5.0 框架使用模型Model添加、更新、删除数据操作详解)
- phpstudy 目录浏览宽度(JspStudy如何设置PHP根目录可编辑)
- php面向对象如何开发(PHP创建对象的六种方式实例总结)
- php获取socket连接的详细信息(php使用socket调用http和smtp协议实例小结)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
- 1天密接者猛增77人,患者轨迹透露危险信号 吉林市全面封闭管理(1天密接者猛增77人)
- 吉林舒兰 封城 15人确诊 276人隔离,出现跨省传播(吉林舒兰封城)
热门推荐
- html5复选框属性教程(HTML5单选框、复选框、下拉菜单、文本域的实现代码)
- 自动化播放声音(video实现有声音自动播放的实现方法)
- php检查语法(使用 PHP Masked Package 屏蔽敏感数据的实现方法)
- laravel框架的业务流程顺序(Laravel+Dingo/Api 自定义响应的实现)
- mysql怎么设置存储记录(MySQL 的一行记录是怎么存储的?)
- 如何获取gridview隐藏列的值
- webaccess签名设置(.htaccess文件写法之作用范围)
- androidjpg图像处理(详解如何使用image-set适配移动端高清屏图片)
- nginx过滤http请求协议(nginx对http请求处理的各个阶段详析)
- php的流程控制语句(PHP基于swoole多进程操作示例)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9