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%)

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0