ホームページ > バックエンド開発 > PHPチュートリアル > ギガバイト単位のテキスト データの行数を効率的にカウントするにはどうすればよいでしょうか?

ギガバイト単位のテキスト データの行数を効率的にカウントするにはどうすればよいでしょうか?

Linda Hamilton
リリース: 2024-11-01 14:43:02
オリジナル
310 人が閲覧しました

How Can You Efficiently Count Lines in Gigabytes of Text Data?

大きなテキスト ファイルの行カウントの最適化 (複数 GB)

200 MB を超えるテキスト ファイルの場合、count(file($path)) を使用した行カウントで問題が発生する可能性があります。メモリの制限。より効率的な解決策は次のとおりです。

<code class="php">$file = "largefile.txt";
$linecount = 0;

$handle = fopen($file, "r");

while (!feof($handle)) {
  fgets($handle);
  $linecount++;
}

fclose($handle);

echo $linecount;</code>
ログイン後にコピー

この方法では、一度に 1 行ずつメモリにロードされるため、ファイル全体をメモリに保存する必要がなくなります。

ファイルに極端な内容が含まれている場合は、行が長い場合は、次の代替方法を使用して改行をカウントできます。

<code class="php">$linecount = 0;

$handle = fopen($file, "r");

while (!feof($handle)) {
  $line = fgets($handle, 4096);
  $linecount += substr_count($line, PHP_EOL);
}

fclose($handle);</code>
ログイン後にコピー

ファイルを分割して改行をカウントすることで、非常に長い行でもメモリの問題を軽減できます。

以上がギガバイト単位のテキスト データの行数を効率的にカウントするにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート