Ankündigung

Einklappen
Keine Ankündigung bisher.

Ständig veränderte Variable in 'ner whileschleife.

Einklappen

Neue Werbung 2019

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

  • Ständig veränderte Variable in 'ner whileschleife.

    Hola,

    Ich versuche in 'ner Endloswhile den Wert einer Variable ständig zu verändern. Nur kommt es da zu Fehlergebnissen.
    Hier mal ein kurzes Bsp. dazu was eigentlich meine:

    Code:
    //Startwert
    $var = 3;
    while(1)
    {
            if(time() % $var == 0 && time() > $last) {
                    $var = rand(1, 5);
                    print(date("s")." next output in (sec): ".$var."\n");
                    $last = time() + 1;
            }
            usleep(100);
    }
    Probiert das einfach mal in der Shell aus. Die Variable wird zwar mit dem neuen Wert gesetzt, nur folgt die Ausgabe nicht in der, wie in der $var angegeben Sekundenzahl.
    Kommentiert man die Zeile '$var = rand(1, 5);' aus fuktioniert's hingegen perfekt. Die Ausgaben erfolgt dann wie angegeben alle 3 sek. Nur warum funktioniert das nicht wenn ich $var in der while neu setze?

    Bin über eure Argumente gespannt.

  • #2
    Schau Dir noch mal Deine Bedingung an:
    PHP-Code:
    <? if (time() % $var == 0 ...) ... ?>
    Versuche es mal mit:
    PHP-Code:
    <? if (time() >= $last + $var) ... ?>

    Kommentar


    • #3
      Genau, das problem ist nähmlich dabei das wenn dein server mal kurz lagt, das er dan sein einsatz verpasst, und bei der methode von karl geht er da weiter wo es aufgehört hat.

      Kommentar


      • #4
        Re Hi,

        Super, so funktioniert's. Besten Dank karl-150.

        Kommentar


        • #5
          Zitat von Niroko
          Genau, das problem ist nähmlich dabei das wenn dein server mal kurz lagt, das er dan sein einsatz verpasst
          Nö!

          Kommentar


          • #6
            Zitat von karl-150
            Zitat von Niroko
            Genau, das problem ist nähmlich dabei das wenn dein server mal kurz lagt, das er dan sein einsatz verpasst
            Nö!
            Doch.

            Kommentar


            • #7
              Zitat von Saraneus
              Doch.
              Mir ist durchaus bewusst, dass es in Ausnahmefällen zu so etwas kommen kann (daher auch mein >=).

              Aber das Problem ist hier eindeutig sein Denkfehler!

              Kommentar

              Lädt...
              X