PHP递归统计系统中代码行数
发布:smiling 来源: PHP粉丝网 添加日期:2021-12-19 12:46:27 浏览: 评论:0
本文实例为大家分享了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;
Tags: PHP递归统计代码行数
- 上一篇:PHP实现统计代码行数小工具
- 下一篇:php实例化一个类的具体方法
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)