怎么在PHP中利用递归实现一个统计功能

  介绍

本篇文章给大家分享的是有关怎么在PHP中利用递归实现一个统计功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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

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

function  (param美元){   如果才能(& # 39;条件# 39;)   ,,,(param_son美元);   其他的才能   ,,,return 结果美元;   }

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

file_open 美元;=,文件(文件)美元;

2,完整的代码

& lt; php ?/* *   ,* Created  by  PhpStorm。   ,*用户:宫   ,*日期:2015/10/16   *大敌;时间:十六12   ,*/,   function  get_file_dir (dir美元){   时间=美元才能dir_arr  scandir ($ dir);   时间=美元才能file_arr 数组();   foreach才能(dir_arr 美元;as  dir_one美元){   ,,,如果(is_dir (dir.DIRECTORY_SEPARATOR。dir_one美元),,,,dir_one 美元;!=,& # 39;强生的,,,,,dir_one 美元;!=,& # 39;. . & # 39;){   ,,,,,file_arr_son 美元;=,get_file_dir (dir.DIRECTORY_SEPARATOR。dir_one美元);   ,,,,,file_arr 美元;=,array_merge (file_arr, file_arr_son美元);   还有,,,}{   ,,,,,如果(dir_one 美元;==,& # 39;强生# 39;,| |,dir_one 美元;==,& # 39;. . & # 39;,| |,大小写敏感(dir_one & # 39;美元。php # 39;), & lt;=, 0)   ,,,,,,,继续;   ,,,,,美元file_arr [],=, dir.DIRECTORY_SEPARATOR。dir_one美元;   ,,,}   ,,}   return 才能;file_arr美元;   }   ,   $ dir =,目录名(__FILE__);   $ file_arr =, get_file_dir ($ dir);   count 美元;=,0,,//计算换行   $ clean_count =, 0;//不计算换行   foreach (file_arr 美元;as  $文件){   时间=美元才能file_open 文件(文件);   美元才能line_count =, count ($ file_open);   美元才能count  +=, line_count美元;   foreach才能(file_open 美元;as  file_val美元){   ,,,如果(file_val 美元;==,PHP_EOL)/*如果nl2br (file_val美元),==,& # 39;& lt; br /祝辞& # 39;想通过这种方式,但是发现不可行,用var_dump (nl2br (file_val美元))进行打印,复制才可以*/,,,,,继续;   ,,,美元clean_count + +;   ,   ,,}   }   echo  $ count强生# 39;- - - - - - - - - - - # 39;clean_count美元;

怎么在PHP中利用递归实现一个统计功能