[php] Tabellenfarben automatisch abwechseln


  • Mod

    Windoof schrieb:

    Du willst das schnellere? Nimm das mit der Bool-Variable... 🙂 Wenn du den Code nehmen willst, der zwar um ganze 2 Zeilen kürzer ist, aber nicht ganz so schnell ist, nimm den mit dem Modulo-Operator.

    Zeig mir ein Benchmark Ergebnis wo deine Variante (man beachte die " anstatt der ') schneller ist, als meiner. Und mit schneller meine ich Messbar schneller.

    Bei flenders Test ist rausgekommen, das deine Variante langsamer ist. Also bist du dran zu beweisen, dass du im Recht bist.



  • Also bei der bool-Variante muss er jedesmal einen String aus dem Warheitswert generieren, was eine bedingung beinhaltet. Und wenn dir Modulo zu langsam ist, dann benutze ein $i&1.



  • Die 2. Variante (ohne den expliziten Cast) war in der Tat minimal schneller (wenn das bei diesen Zeitdifferenzen überhaupt aussagekräftig ist), als die mit Modulo - aber wie gesagt im ms Bereich. Da lässt sich an anderen Stellen aber sicher mehr einsparen. Und außerdem, wer lässt sich 500.000 Einträge aus einer DB auf einer Seite ausgeben 😮



  • Genau: Wubbel, wievie Einträge sind in deiner Tabelle so in etwa zu erwarten?



  • Ähm, mal ganz doof gefragt:

    Und wenn dir Modulo zu langsam ist, dann benutze ein $i&1.
    

    was ist "$i&1" ???

    mfg
    tobi



  • $i ist eine Variable
    & ist eine bitweise Verknüpung
    1 ist eine Zahl



  • @Tow-B.de
    & = Bit-Operator

    $i&1 würde dir also das erste bit von $i zurückliefern. Somit hast du z. B. eine leichte Abprüfung, ob die Zahl ungerade (Ergebnis=1) oder gerade (Ergebnis=0) ist.



  • Also weil Bool ja eine Bedingung beinhaltet möchte ich gerne den Modulo-Operator nehmen.



  • Wubbel schrieb:

    Also weil Bool ja eine Bedingung beinhaltet[...]

    Wo? Ein Boolean ist nichts weiter, als 2 mögliche Zustände... 1 (An) und 0 (Aus), aber da ich ja gerade die 3. Möglichkeit kennengelernt habe ($i&1), und das im Prinzip das gleiche herauskommt, PHP aber daraus nur jeweils nen String mit einem Zeichen generieren muss, statt einen mit 4 oder 5, würde ich dir jetzt die 3. Variante empfehle, da es dabei um Schnelligkeit geht.



  • ah, cool danke. Den kannte ich noch nicht 😉


Anmelden zum Antworten