gpt4 book ai didi

PHP递归统计系统中代码行数

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章PHP递归统计系统中代码行数由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例为大家分享了PHP递归统计系统中代码行数的具体代码,供大家参考,具体内容如下 。

1、统计代码行数,必然用到的两个关键的知识点:函数递归以及文件读取.

函数递归无非就是在函数的代码中调用本身的函数名,以此形成递归循环 。

?
1
2
3
4
5
6
function A( $param ){
   if ( 'condition' )
     A( $param_son );
   else
     return $result ;
}

在文件读取中,有很多读取方式,采用了file()读取,按行读取,形成一个数组.

?
1
$file_open = file( $file );

2、完整的代码 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?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递归统计系统中代码行数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com