felix_se_cat: Jahreszahl (Form: 04) dekrementieren?

Hi, wie kann ich eine Variable in der Form 03,04,... usw am besten dekrementiern. $var-- geht ja nicht wegen der 0. Hat hier jemand eine einfache Lösung parat??
Danke

  1. Hello,

    Hi, wie kann ich eine Variable in der Form 03,04,... usw am besten dekrementiern. $var-- geht ja nicht wegen der 0. Hat hier jemand eine einfache Lösung parat??

    In die Datenhaltung gehören immer formatfreie Daten, die im neutralen Zeichensatz der Sprache oder des DMBS abgespeichert werden.

    "04" ist als Zahl ein formatierter Wert. Den muss man also erst auf den formatfreien Rawdatenwert "4" zurückführen. Dann kann man damit arbeiten. Zum Schluss (zur Ausgabe) wird er dann wieder formatiert.

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. "04" ist als Zahl ein formatierter Wert. Den muss man also erst auf den formatfreien Rawdatenwert "4" zurückführen. Dann kann man damit arbeiten. Zum Schluss (zur Ausgabe) wird er dann wieder formatiert.

      Hört sich ja gut an aber wie mache ich das? ;-)

      1. Hello,

        "04" ist als Zahl ein formatierter Wert. Den muss man also erst auf den formatfreien Rawdatenwert "4" zurückführen. Dann kann man damit arbeiten. Zum Schluss (zur Ausgabe) wird er dann wieder formatiert.

        Hört sich ja gut an aber wie mache ich das? ;-)

        Na, mit PHP!

        <?php   ### value.php ###

        echo intval("04")."<br />";

        $var = intval("04");

        echo ++$var ."<br />";

        echo substr("00".$var,-2)."<br />";

        ?>

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hi,

          echo ++$var ."<br />";

          Es war nach _De_krementieren gefragt ==> --

          echo substr("00".$var,-2)."<br />";

          Viele Wege führen nach Rom, aber den halte ich dann doch für suboptimal.

          printf("%02d", $var);

          halte ich für schöner.

          cu,
          Andreas

          --
          MudGuard? Siehe http://www.Mud-Guard.de/
          Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
          1. Hello,

            echo ++$var ."<br />";

            Es war nach _De_krementieren gefragt ==> --

            Du musst doch nicht alles verraten ;-)

            echo substr("00".$var,-2)."<br />";

            Viele Wege führen nach Rom, aber den halte ich dann doch für suboptimal.

            printf("%02d", $var);

            halte ich für schöner.

            Ich nicht. Ist also Philosophie. Ich komme von Pascal und da gibt e einen Schrott nicht printf("%02d", $var), der auch locker mal zu Buffer-Overflows führen kann, wenn $var einen ekligen Wert enthält.

            Aber was ist denn schneller?

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            1. Hallo Tom,

              und da gibt e einen Schrott nicht printf("%02d", $var), der auch locker mal zu Buffer-Overflows führen kann, wenn $var einen ekligen Wert enthält.

              Ähm, bei welchem Wert bitteschön könnte das passieren? Bei PHP wird die Größe von Strings sowieso dynamisch verwaltet; welcher Buffer könnte hier denn bitte overflowen?

              Viele Grüße,
              Christian

  2. Hallo!

    ... wie kann ich eine Variable in der Form 03,04,... usw am besten dekrementiern. $var-- geht ja nicht wegen der 0. Hat hier jemand eine einfache Lösung parat??

    Das macht ja nur Sinn wenn Du es ausgeben möchtest.

    echo printf("%02d", $i);

    MfG, André Laugks

    --
    L-Andre @ gmx.de