Zur Navigation

Addieren von zahlen, die in einer Variable stehen

1 Selo

Hallo und guten Morgen.

In einem Ordner befinden sich Dateien, in denen ich bestimmte Wörter zähle. Die Anzahl steht in einer Variable als aneinander gereite Zahlenkolonne. Wie kann man diese Zahlen zusammen addieren?
Hier der Code, den ich benutze und der mir die lange Zahlenreihe ausgibt:

<?php
$ordner = "./";
$dh = opendir($ordner);
while($file = readdir($dh)) {
if(strtolower(substr($file, -3)) == "txt") {   # nur .txt Dateien
$suchstring = implode(" ", file($ordner.$file));
$anzahl = substr_count($suchstring, 'meinsuchwort');  #Anzahl in einer Datei
echo "$anzahl"; # ergibt lange Zahlenkette, deren Summe ich ausgeben möchte
 }
 }
closedir($dh);
?>

Vielen Dank für eine Hilfestellung
Gruß Lothar

18.01.2015 11:19

2 Jörg Kruse

Du kannst die Anzahl vor der Schleife mit dem Wert 0 initialisieren, dann in der Schleife mittels += jeweils addieren, und das Ergebnis nach der Schleife ausgeben:

<?php                                                                           
$ordner = "./";                                                                 
$dh = opendir($ordner);                                                         
$anzahl = 0;                                                                  
while($file = readdir($dh)) {                                                   
    if(strtolower(substr($file, -4)) == ".txt") {   # nur .txt Dateien           
        $suchstring = implode(" ", file($ordner.$file));                           
        $anzahl += substr_count($suchstring, 'meinsuchwort');  #Anzahl in einer Datei
    }                                                                              
}                                                                               
echo $anzahl;                                                                     
closedir($dh);                                                                  
?> 

Beim Testen auf die Endung würde ich zudem die auf letzten vier Zeichen prüfen, d.h. inklusive des Punktes

18.01.2015 13:02 | geändert: 18.01.2015 13:03

3 Selo

Hallo Jörg,

vielen Dank für die Antwort. Es funktioniert hervorragend. Da bin ich selber nicht darauf gekommen und habe mich stundenlang damit herumgeplagt.

Dankeschön und viele Grüße von Lothar

19.01.2015 02:11

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]