Ich will Dich ja nicht unglücklich machen, aber teste mal selber das folgende Skript:
PHP-Code:
<?php
set_time_limit(0);
$fh=file("user.txt");
$count_f=0;
for ($i=0; $i<1000; $i++)
{
$start=microtime();
foreach ($fh as $handle)
{ $check = explode('|', $handle); }
$count_f+=microtime()-$start;
}
$count_w=0;
for ($i=0; $i<1000; $i++)
{
$start=microtime();
$j=0;
while ($j<count($fh))
{ $check = explode('|', $fh[$j]); $j++; }
$count_w+=microtime()-$start;
}
echo "Durchschnitt for: ".($count_f/1000)."<br>n";
echo "Durchschnitt while: ".($count_w/1000)."<br>n";
echo "<br><br><b>Fertig.</b>";
exit;
?>
Bei mir gibt er das aus:
Code:
Durchschnitt for: 0.000321167
Durchschnitt while: 0.000198586
Fertig.
Testen kannst Du es auch hier:
foo.php - der Glaubwürdigkeit wegen empfehle ich natürlich das Skript auf einem eigenen Server zu testen.
Die user.txt enthält übrigens den folgenden Text:
Code:
heuteiger Name|Alter von morgen
Und das 1000 langweilige Zeilen lang.
Ich hab übrigens mal gelernt, dass for-Schleifen möglichst gemieden werden sollten, da sie im Schnitt langsamer sind. Warum weiß ich nicht, aber mein Test hat mir endlich mal gezeigt, dass dem wirklich so ist.
Edit: Bei mehreren Versuchen schwankt der Vorsprung von while gegenüber for zwar fleißig, aber er bleibt.
Mir ist nur nicht wirklich klar, wie negative Werte möglich sind...