Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]suma liczb z pliku tekstowego
Forum PHP.pl > Forum > Przedszkole
canismajoris
Witam
jak w temacie

mam plik tekstowy

z danymi w kolumnach oddzielnych ";"

za pomoca foreach i explode wypluwam tą kolumnę w zmienną $var

ta kolumna zawiera liczby.
jak je ze sobą zsumować?

ma ktoś jakiś pomysł .
z góry b,. dziekuję za pomoc.
Sephirus
Jeżeli plik wygląda tak:

Kod
1; 2; 3; 4; 5; 6
4; 5; 6; 7; 8; 9
... itd ...


To można zrobić tak:

  1. $linia; // tutaj mamy pierwszą linię z pliku
  2.  
  3. $suma = 0;
  4. $linie = explode(';',$linia);
  5. foreach($linie AS $l) $suma+= (int) $l;
  6.  
  7. echo $suma;
  8.  


questionmark.gif
canismajoris
plik txt wygląda tak

7;4;5
4;6;5
1;9;5
5;4;6

dla uproszczenia np. chciałbym zsumowac tylko ostatna kolumnę.

Sephirus
Przepraszam pokićkało mi się że chodzi o linie.... ;/

  1. $lines = file('sciezka/do/pliku.csv'); // pobieramy linie
  2.  
  3. $colCount = count(explode(';',$lines[0]));
  4. $colSums = array_fill(0, $colCount, 0);
  5.  
  6. foreach($lines AS $l)
  7. {
  8. $cols= explode(';',$l);
  9. for($i = 0; $i < $colCount; $i++)
  10. $colSums[$i] += $cols[$i];
  11. }
  12.  
  13. print_r($colSums);
canismajoris
ogromnie dziękuję, dziala poprawnie.
pozdrawiam
-AS-
zamiast
  1. $linie = explode(';',$linia);
  2. foreach($linie AS $l) $suma+= (int) $l;

proponuję
  1. $suma += array_sum(explode(';',$linia));

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.