was ist der unterscheid zwischen date("m"); und date("n"); ?

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

  • was ist der unterscheid zwischen date("m"); und date("n"); ?

    hi alle zusammen,

    wenn ich date("m"); schreibe, also monate von 01-12 mit führender 0, und dem einem array unterordne, bekomme ich keine ausgabe.

    mache ich das selbe aber mit "n", monatstage ohne führende 0, so bekomm ich das gewünschte ergebnis.

    ist "n" nur da, um die zahlen 01-12 förmlich sauber anzuzeigen ?

  • #2
    Was bedeutet der Satzteil "und dem einem array unterordne" im Mittelteil??
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      $monate = array(1=>"Januar",
      2=>"Februar",
      3=>"März",
      4=>"April",
      5=>"Mai",
      6=>"Juni",
      7=>"Juli",
      8=>"August",
      9=>"September",
      10=>"Oktober",
      11=>"November",
      12=>"Dezember");

      $monat = date("n");
      echo $monate[$monat];

      <- naja, das halt, $monat macht ne ausgabe und das array von $monate wird doch durchsucht. oder nicht ?
      bin absoluter beginner

      hab mich wohl falsch ausgedrückt.

      Kommentar


      • #4
        Das Problem ist das date("m"); einen String zurückliefert und dieser nicht automatisch beim Zugriff auf's Array gecasted (in einen Integer umgewandet) wird.

        Bei der Zuweisung array(1=>"Januar") wird ein Integer als index verwendet. PHP verwendet Assoziative Array's ... Folge: array(1=>"Januar") ist etwas anders als array("01"=>"Januar").

        Dein Zugriff echo $monate[date("m")]; sucht nach dem Element $monate["01"] ... und das gibt es nicht ...

        Also entweder date("n") verwenden oder explizit casten: $monat = (int)date("m"); ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          was bedeutet das (int) in der letzten zeile ?
          (bestimmt integer, aber muss man an diese stelle etwas schreiben, wenn ja -> warum, hab sowas bis jetzt aber noch nicht gesehen)

          Kommentar


          • #6
            Original geschrieben von uschi
            was bedeutet das (int) in der letzten zeile ?
            (bestimmt integer, aber muss man an diese stelle etwas schreiben, wenn ja -> warum, hab sowas bis jetzt aber noch nicht gesehen)
            wie goth schon sagte, das ist der cast.

            (variablentyp) $varname

            bedeutet, verwende nicht die variable $varname so wie sie ist, sondern versuche sie vor der verwendung in eine variable vom typ variablentyp umzuwandeln - sofern möglich.

            achtung: dabei wird nicht die variable selbst umgewandelt, die bleibt bestehen wie ist. lediglich für diesen einen zugriff wird ein anderer typ geliefert.



            btw: ich kapier's einfach nicht, warum immer wieder leute versuchen die deutschen monatsnamen aus einem array zu holen, wenn php über entsprechende formatierung des datums diese möglichkeit zur anzeige bereits mitbringt...
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Original geschrieben von wahsaga
              wie goth schon sagte, das ist der cast.
              wenn php über entsprechende formatierung des datums diese möglichkeit zur anzeige bereits mitbringt...
              Ich mache wirklich noch nicht lange was in php, 1 1/2 wochen (!?), aber von dem hab ich wirklich nichts gelesen (richte mich nach php.net)

              Kommentar


              • #8
                Einmal englisch

                und einmal deutsch
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  thanx, hab in einem buch sowas gelesen:
                  settype($foo,"double");

                  ist doch im prinzip das gleiche, oder ?

                  Kommentar

                  Lädt...
                  X