[Funktion] (double)microtime()*1000000) bei srand

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] (double)microtime()*1000000) bei srand

    Was haben die zusätzlichen Attribute (sinds überhaupt welche?) in

    srand((double)microtime()*1000000);

    für einen Sinn, wie kann man sich das "(double)" erklären und warum nimmt er des mal 1 Mio? Des Handbuch schweigt sich darüber aus, und in meinem PHP-Buch steht auch nix dazu.

  • #2
    Soweit ich weiß wandelt (double) einen Wert in den Datentyp Double um.

    Bsp:
    $foo = (double)$bar;


    Verbessert mich wenn ich falsch liege
    Ich arbeite nur mit (int) *ggg*
    Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
    (Albert Einstein)

    Kommentar


    • #3
      Re: [Funktion] (double)microtime()*1000000) bei srand

      Original geschrieben von der_Behr
      Was haben die zusätzlichen Attribute (sinds überhaupt welche?)
      attribute sind in deinem beispiel überhaupt keine zu finden - höchstens parameter.
      srand((double)microtime()*1000000);
      srand() erwartet genau einen parameter, und den bekommt es ja auch. ob dieser sich dabei aus einer weiteren berechnung zusammensetzt, interessiert srand kein stückchen.
      wie kann man sich das "(double)" erklären
      durch einen blick ins manual (zweiter abschnitt, "Typ-Umwandlung").
      und warum nimmt er des mal 1 Mio?
      weil "er", wer auch immer "er" sein mag, erwartet, dass sich dadurch ein für seine zwecke geeigneter startwert für die zufallsfunktion ergibt.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Des mit der Typumwandlung is ja klar wie's funktioniert, nur warum wandelt der Autor des um? Aber was solls...

        Hab mal das 1Mio. auf 1 gesetz also *1 --> es ändert sich gar nix

        bei 2 ändert sich nur das untere Bild

        Achso: Schreibe grad ne Bildergalerie mit einem Galerie-Index, wo ein (zufällig ausgewähltes) Beispielbild der Galerie angezeigt wird. Im Moment hab ich nur 2 Galerien --> 2 Bilder, und nur das untere ändert sich, wenn ich "2" nehme.

        Kommentar


        • #5


          Lass dir doch mal die Zahlen ausgeben dann siehste warum das in Double umgewandelt wird und warum das Ding dann mit 1 Mio multipilziert wird
          Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil!
          (Albert Einstein)

          Kommentar


          • #6
            also,

            Achso: Schreibe grad ne Bildergalerie mit einem Galerie-Index, wo ein (zufällig ausgewähltes) Beispielbild der Galerie angezeigt wird. Im Moment hab ich nur 2 Galerien --> 2 Bilder, und nur das untere ändert sich, wenn ich "2" nehme.
            dann wird aber auch bei jedem reload der seite ein neues bild angezeigt, möglich daß du das willst.

            wenn du zb. jeden tag ein neues, zufällig ausgewähltes bild willst, kannst du das srand so aufrufen.

            Code:
              $heute = getdate();
              srand ($heute['yday']);
              $zeige_bild = rand (0, $row->anzahl_bilder);
            vorraussetzung ist, daß $row->anzahl_bilder die gesamtzahl der bilder angibt, ...

            das $zeige_bild kannst du ja dann per limit auf die db loslassen, ...

            ist auf meinem mist gewachsen, scheint so zu funktionieren, läßt sich aber nur bedingt überprüfen. sollte aber gehn, da srand, mit gleichen werten initialisiert, auch gleich zufallswertfolgen liefert. AFAIK.
            Die Zeit hat ihre Kinder längst gefressen

            Kommentar

            Lädt...
            X