Liebes Auge,
Du sagtest etwas zu diesem Code:
for($i=0;$i<10000;$i++)
{
$ts=time();echo ".";flush();
for($j=0;$j<1000;$j++)
$test=str_replace('aaa','bbb',$testa);
$ts_=$ts_+(time()-$ts);
$ts=time();
if (bcmod($i,100)==0)
{
echo '<br>'.$ts_.'<br>';
$ts_=0;
}
}
>
> Außerdem steckt da noch eine Schleife drin (`for($j=0;$j<1000;$j++)`{:.language-php}), die ohne Anweisung bleibt.
ich möchte Dir hier widersprechen: for (...) Anweisung; bewirkt, dass "Anweisung" in jedem for-Schleifen-Durchlauf ausgeführt wird. Es braucht bei einer einzigen Anweisung keine geschweiften Klammern wie bei einem ganzen Anweisungs\_block\_. Deshalb wird in jedem der 10000 (zehnTAUSEND) Schleifendurchgänge (mit $i als Index) 1000x (tausendmal - mit $j als Index) die str\_replace-Funktion ausgeführt, sodass wir auf die lächerliche Summe von 10 000 000 (zehn Millionen) str\_replace-Ausführungen kommen (und die auf ein Array!).
Ich schreibe einmal obigen Code mit anderen Einrückungen, dann wird es besser sichtbar:
~~~php
for($i=0;$i<10000;$i++)
{
$ts=time();echo ".";flush();
for($j=0;$j<1000;$j++)
$test=str_replace('aaa','bbb',$testa);
$ts_=$ts_+(time()-$ts);
$ts=time();
if (bcmod($i,100)==0)
{
echo '<br>'.$ts_.'<br>';
$ts_=0;
}
}
Auch ich frage mich, wie jetzt da der Sinn erkennbar werden soll...
Liebe Grüße aus Ellwangen,
Felix Riesterer.