21.7 Jedes Wort einer Datei verarbeiten

Problem

Sie wollen mit jedem Wort einer Datei etwas machen.

Lösung

Lesen Sie mit fgets() jede Zeile ein, teilen Sie die Zeile in Wörter auf und verarbeiten Sie jedes Wort:

$fh = fopen('great-american-novel.txt','r') or die($php_errormsg);
while (! feof($fh)) {
    if ($s = fgets($fh,1048576)) {
        $words = preg_split('/\s+/',$s,-1,PREG_SPLIT_NO_EMPTY);
        // Wörter verarbeiten.
    }
}
fclose($fh) or die($php_errormsg);

Diskussion

Hier sehen Sie, wie Sie die durchschnittliche Wortlänge einer Datei berechnen:

$word_count = $word_length = 0; if ($fh = fopen('great-american-novel.txt','r')) { while (! feof($fh)) { if ($s = fgets($fh,1048576)) { $words = preg_split('/\s+/',$s,-1,PREG_SPLIT_NO_EMPTY); foreach ($words as $word) { ...

Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.