この記事では、主に PHP コードで統計関数を実装する方法について説明します。PHP コードで統計関数を実装する方法を学ぶのに役立つことを願っています。
<?php $filename = "D:/code/";//php代码所在目录 $counts = 0; function codeCount($filename) { global $counts; $total = 0; // 总行数 $space = 0; // 空行数 $notes = 0; // 注释 $handle = fopen($filename, "r"); $isNotes = false; while (! feof($handle)) { $line = fgets($handle); $total ++; if ($isNotes) { $notes ++; if (preg_match("/.*(\*\/)/", $line)) { // 多行*/注释结束 $isNotes = false; } continue; } if (preg_match("/^[\s]*$/", $line)) { // 空行 $space ++; } elseif (preg_match("/^[\s]*\/\//", $line)) { // 两杠注释 $notes ++; } elseif (preg_match("/^[\s]*(\/\*).*(\*\/)[\s]*$/", $line)) { // 单行注释 $notes ++; } elseif (preg_match("/^[\s]*(\/\*).*/", $line)) { // 多行/*注释开始 $notes ++; $isNotes = true; } } echo "total:" . $total . "\r\n"; echo "space:" . $space . "\r\n"; echo "notes:" . $notes . "\r\n"; echo "<br>"; $counts += ($total - $space - $notes); } if (is_file($filename)) { codeCount($filename); } else if (is_dir($filename)) { if ($dh = opendir($filename)) { while (($file = readdir($dh)) != false) { // 文件名的全路径 包含文件名 $filePath = $filename . $file; // 获取文件修改时间 if (is_file($filePath)) { codeCount($filePath); } } closedir($dh); } } echo "<br>" . $counts;//输出总的代码量 ?>
関連する推奨事項:
以上が統計的共有を実現するための PHP コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。