首頁 > 後端開發 > php教程 > 如何有效計算千兆位元組文字資料的行數?

如何有效計算千兆位元組文字資料的行數?

Linda Hamilton
發布: 2024-11-01 14:43:02
原創
309 人瀏覽過

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>
登入後複製

此方法一次將一行載入到記憶體中,避免了將整個檔案儲存在記憶體中的需要。

如果您的文件可能包含大量內容,長行,您可以使用此替代方法來計算換行符:

<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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板