Hier im Forum bekommt ihr bei euren fragen schnelle hilfe.Hier geht es rund um das Web SeitenProgrammieren.Alles rund ums Javascript,Html,Php,Css und Sql.Auf fast allen Fragen haben wir eine Antwort.
Der Soforthilfe-chat verspricht das ,was sein Name sagt. Hier sind Leute Online die sofort ihre hilfe anbieten.Seht in der OnlineListe nach und wenn einer Online ist werdet ihr auch antwort bekommen. Admine ,Moderatoren und Helfer sind unsere Spezialisten in Sachen Web Programierung
71 Unwetterwarnungen in Deutschland
Die Datenbank wurde zuletzt am 02.08.2020 17:34:28 aktualiesiert
71

Zählschleife so oft durchführen, wie ein Array Einträge hat

Schleifen, die ein Array durchlaufen sind sehr häufig. Dazu gibt es entweder die foreach-Schleife oder die for-Schleife mit Zählvariable. Besonders bei letzterer sieht man sowohl in von Hobbyprogrammiern als auch in von professionellen Entwicklern programmiertem Code recht häufig folgenden Schleifenkopf:

$array = array(...); 
for($i=0;$i<count($array);$i++)>  ...  }

Das count muss dabei allerdings bei jedem Schleifendurchlauf wieder berechnet werden, damit die Bedingung überprüft werden kann (ob $i<count($array)). Das ist unnötig.
Performanter geht es mittels folgender Funktion:

 $array = array(...);
 $cnt_array = count($array); 
 for($i=0;$i&lt;$cnt_array;$i++) {  ...  }

Etwa gleichwertig zum Bestimmen der Array-Länge vor der Schleife ist die Funktion foreach:

foreach($array as $item) {  ...  }

Auswertung:
Die konstanten Variante (Arraylänge vor der Schleife bestimmt) und die foreach-Variante benötigen pro Durchlauf durchschnittlich ca 9 ms und die dynamische (Länge im Schleifenkopf bestimmt) knapp 14 ms. Die konstante Version ist also über 50 % schneller als die dynamische!!!

Datei Gesamtlaufzeit durchschnittliche Laufzeit pro Durchlauf Verhältnis zur schnellsten Variante
loop_constant.php 9,12 s 9,123 ms 100%
loop_foreach.php 9,17 s 9,173 ms 101% (+ 1%)
loop_dynamic.php 13,80 s 13,800 ms 151% (+ 51%)