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 goto语句用法实例)
- phpredis怎么测试成功(PHP+redis实现的限制抢购防止商品超发功能详解)
- php生成md5(php进行md5加密简单实例方法)
- phpstudy怎么配置域名并访问(phpstudy怎么绑定目录实现域名访问)
- thinkphp6.0安装(使用composer安装使用thinkphp6.0框架问题视频教程)
- php框架laravel使用(laravel5环境隐藏index.php后缀apache的方法)
- php7处理方案(PHP7 安装event扩展的实现方法)
- phpdate函数使用方法(PHP中strtr与str_replace函数运行性能简单测试示例)
- php守护进程(什么是PHP7中的孤儿进程与僵尸进程)
- 如何安装phpmysql环境(phpnow重新安装mysql数据库的方法)
- php+mysql源码部署教程(在WIN主机IIS上支持PHP和MySQL实现方法)
- php博客开发短信原理(PHP如何实现阿里云短信sdk灵活应用在项目中的方法)
- php定时执行PHP(Cpanel下Cron Jobs定时执行PHP的方法)
- thinkphp数据库使用(thinkphp3.2同时连接两个数据库的简单方法)
- thinkphp5框架怎么设置(thinkphp5框架调用其它控制器方法 实现自定义跳转界面功能示例)
- phpstudy服务器怎么设置(PHPStudy打开网页很慢的原因及解决方案)
- 哪几个历史人物被影协主席李雪健演的活灵活现(哪几个历史人物被影协主席李雪健演的活灵活现)
- 王伦狭隘,晁盖霸道,宋江奸诈骨头软,只有鲁智深才适合当寨主(王伦狭隘晁盖霸道)
- 他是梁山最早的头目,江湖人称 旱地忽律 ,宋江几乎将其遗忘(他是梁山最早的头目)
- 梁山创始人杜迁,为何不受宋江待见,只排名83位(梁山创始人杜迁)
- 法国面包(法国面包法棍)
- 微信(微信分身)
热门推荐
- python strip用法(Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析)
- dedecms调用内容(DEDECMS文章列表页调用tag的修改方法)
- mysql中delete聚合函数查询值(MySQL 分组查询和聚合函数)
- jquery脚本检测密码强度
- dedecms添加站点(dedecms 栏目列表页链接优化方法)
- nginx做图片服务器代理(使用nginx动态转换图片大小生成缩略图)
- sql注入原理详细(Sql注入原理简介_动力节点Java学院整理)
- 怎么把网站放进云服务器(云服务器可以放几个网站?)
- docker-compose怎么编写(docker-compose部署php项目实例详解)
- vue和springboot分页开发实现(解决Vue+SpringBoot+Shiro跨域问题)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9