Basilius-Network

Das offizielle Forum zum Basilius-Network und aller Komponenten.
Aktuelle Zeit: Di 7. Sep 2010, 19:39

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: For-Schleifen und Maximalwerte
BeitragVerfasst: So 8. Jul 2007, 20:10 
Offline
Administrator

Registriert: Do 24. Mai 2007, 21:18
Beiträge: 35
Wohnort: Riehen (CH)
Engelsreich-Charakter: Charakter vorhanden
Charakternamen: Sefardius, Schlumpf, Testi
An vielen Orten findet man in LoGD folgendes Konstrukt:
Code:
for($i = 0; $i < db_num_rows($result); $i++) {
  $row = db_fetch_assoc($result);
  #[...]
}


Was ich hier bemängeln möchte, ist der Funktionsaufruf in der Forschleife.
Bei kleinen Datensätzen macht es auch nicht viel aus. Doch holt man so einen Datensatz mit vielen Zeilen, so rechnet sich das hoch: Bei 2000 Datensätzen wird 1999 mal die Funktion db_num_rows() unnützigerweise aufgerufen, da sich die Anzahl der Datensätze nicht ändern wird. Deshalb ist es besser, und ressourcenschonender, wenn man den Maximalwert schon vorher definiert:

Code:
$max = db_num_rows($result);
for($i = 0; $i < $max; $i++) {
  $row = db_fetch_assoc($result);
  #[...]
}


Somit ruft man die Funktion noch genau 1x auf und damit hat es sich. Das gilt übrigens für jede Art Funktionsaufruf in den for-Schleifen, inklusive count() und so.


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Deutsche Übersetzung durch phpBB.de