当前位置: 首页 > 编程笔记 >

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

濮俊美
2023-03-14
本文向大家介绍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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍PHP统计代码行数的小代码,包括了PHP统计代码行数的小代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PHP统计代码行数的具体代码,供大家参考,具体内容如下 想统计一下项目中一共有多少行代码,结果没找到什么好的工具,就自己写了一个。 效率不怎么样。 在命令行中运行,参数为要查询的文件或者目录的绝对路径。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家

  • 本文向大家介绍PHP实现统计代码行数小工具,包括了PHP实现统计代码行数小工具的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PHP实现统计代码行数小工具,供大家参考,具体内容如下 为了方面统计编程代码行数,做了一个小工具。 自动统计指定目录以及目录下的所有文件。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • Linux命令 统计代码行数 统计当前目录下,go文件数量: find . -name "*.go" |wc -l 统计当前目录下,所有go文件行数: find . -name "*.go" |xargs cat|wc -l 统计当前目录下,所有py文件行数,并过滤空行: find . -name "*.go" |xargs cat|grep -v ^$|wc -l

  • 问题内容: 我们有一种产品,由PayPal付款。前往贝宝之前,请先申请折扣。我们希望创建一个系统,使人们可以输入礼品券代码以获取免费产品(即100%折扣),或输入一些代码以获得特定折扣(即SAVE10-享受10%折扣)。 有些代码只能用于一种用途(即礼券),有些则可以多次使用-即SAVE10。有些也会有有效期。 将使用MySQL和php组合在一起。 外面有没有人已经做过并将这些放在一起?还是知道一

  • Axiom是一个通用的计算机代数系统,用于研究和开发数学算法,定义了强类型的数学形式上正确的类型系统,拥有自己的编程语言和内置编译器。

  • 问题内容: 我是一名初级软件工程师,曾负责接管旧系统。根据我的初步评估,该系统存在几个问题。 意大利面代码 重复码 10k行及以上的课程 使用log4j滥用和过度记录 错误的数据库表设计 缺少源代码管理->我为此设置了Subversion 缺少文档->除了阅读代码外,我对业务规则一无所知 我应该如何处理才能提高系统质量并解决此类问题?我可以考虑使用静态代码分析软件来解决任何不良的编码做法。 但是,