myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Webmaster Talk > Entwicklung & Programmierung
Seite neu laden

Zeit aus csv-Datei

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 17.03.12, 23:07   #7
smdata2
Anfänger
 
Registriert seit: Apr 2009
Beiträge: 24
Bedankt: 5
smdata2 ist noch neu hier! | 0 Respekt Punkte
Standard

Dafür würde ich folgendes machen:

1:
Die Spalten einer Zeile werden nur durchlaufen wenn mindestens der erste Wert ungleich 0 ist:
PHP-Code:
/*
 * 2-Dimensionales Array ablaufen und Zeiten aufsummieren
 * ACHTUNG: i-Schleife beginnt mit 1 um die Kopfzeile der CSV-Datei zu überspringen
 */
$sums = array();
$count 0;
for(
$i=1$i<count($lines); $i++) {
  if(!empty(
$lines[$i][0])) {
    
$count++;
    for(
$j=0$j<count($lines[$i]); $j++) {
      
// Falls es der erste Durchlauf ist, wird die Summe mit 0 vorbelegt
      
if(!isset($sums[$j]))
        
$sums[$j] = 0;
      
      
// Wert nach Minuten und Sekunden auftrennen und als Sekundenwert ablegen
      
$time preg_split('/:/'$lines[$i][$j]);
      
$seconds $time[0] * 60 $time[1];
      
$sums[$j] += $seconds;
    }
  }

2:
Bei der Bildung des Durchschnitts kann jetzt nicht mehr einfach $lines - 1 als Anzahl genommen werden, stattdessen wird nun der vorher ermittelte Wert $count genommen:
PHP-Code:
/*
 * Durchschnitt der einzelnen Spalten bilden
 */
$averages = array();
for(
$i=0$i<count($sums); $i++) {
  
// Summe aus dem Array holen und durch Anzahl der Zeilen (in $count ermittelt) teilen
  // --> ergibt den Durchschnittswert in Sekunden
  
$seconds $sums[$i] / $count;
  
// Volle Minuten bestimmen, eventuell mit führender 0
  
$avg_minutes str_pad(floor($seconds 60), 2'0'STR_PAD_LEFT);
  
$avg_seconds str_pad(($seconds 60), 2'0'STR_PAD_LEFT);
  
$averages[] = $avg_minutes ':' $avg_seconds

Hoffe, dass es dich weiterbringt!
smdata2 ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:44 Uhr.


Sitemap

().