10th Apr, 2008

Interessanter PHP Schnippsel

Ich hab heute, einen echt interessanten Codeschnippsel gesehen und überlege noch immer, wie der Schreiber darauf kommt, das es schneller läuft, (Begründung war: Er kann 2 Whiles in einer While machen und ist dadurch schneller, als wenn er nur eine while hat).

Der Code?

Achso. Ja.:

$rows = "";
while($foo){
    while($row = mysql_fetch_array($result)){
        $rows .= $row['content'].”\n”;
        $array = explode("\n", $rows);
        foreach($array as $arr){
           // gekürzt, da es zu augenkrebs führt.
        }
    }
    while($rowzwei = mysql_fetch_array($resultzwei)){
        $rowszwei .= $row['datum'];

        $array = explode("\n", $rowszwei);
        foreach($array as $arr){
            // gekürzt, da es zu augenkrebs führt.
        }
    }
}

Fazit?

Naja. Ich spar’s mir. Aber irgendwann versteh ich’s. Bestimmt. Da is sicher irgendnen genialer Trick versteckt. Anyway - Mag mal wer die Laufzeit als Formel aufschreiben? ;-)

Responses

Ach gib es doch zu. Das ist Dein Quelltext in meinem Script. Deswegen habe ich das auch noch nicht wieder… ;) *duckundschnellweg*

Gravatar

O(n) + O(n) = O(n), also Linearzeit. $result und $resultzwei werden komplett durchlaufen und sind anschließend leer. Das while außenrum spielt keine Rolle, da halt in der Schleife nix weiter passiert, nachdem einmal beide Ergebnisse abgegrast wurden.

Sinn macht das äußere while natürlich trotzdem nicht.

Gravatar

Ah. Ja. Interessant waere es wenn in den foreach’s noch foreach’s jeweils mit einer while waeren. *rumhust*

Gravatar

Leave a response

Your response:

Please copy the string FLcI1E to the field below:

Categories