Problem beim String und Integer unterscheiden

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

  • Problem beim String und Integer unterscheiden

    Will eine Tabelle aus meiner Mysql Datenbank auslesen lassen und bei einem bestimmten Feld, wenn der Wert eine Zahl (also Integer) ist, Zusatzinfos mit ausgeben lassen.

    p.s: Die Daten werden aus einem Array in einer while-schleife ausgelesen

    Nun wollte ich zur Lösung der Sache folgendes in meinen code einbauen:#

    $type = gettype($data[status]);

    -----

    Wenn jetzt $type also Integer ist, soll er das in einer if schleife checken und gegebenenfalls die zusatzinfos ausgeben.

    Nur leider erkennt er bei jedem durchlauf nur "String" obwohl in manchen einträgen "1", "5" usw. steht.

    Woran liegt das? Wie kann man das Problem umgehen bzw: anders lösen??



  • #2
    das problem ist in der struktur deiner tabelle zu suchen ..
    wenn du dort varchar angegeben hast liefert dir mysql (etc) auch einen string zurück

    btw: um die typen von feldnamen rauszufinden verwende sowas wie
    $query = "DECRIBE `tabelle`";
    mfg,
    [color=#0080c0]Coragon[/color]

    Kommentar


    • #3
      oder check einfach, ob der String nur aus Ziffern besteht:

      $type = (ereg('^[0-9]+$', $data[status]) ? 'int':'string');

      PS: Vielleicht sollen auch noch + oder - vorne stehen dürfen?
      $type = (ereg('^(+|-)?[0-9]+$', $data[status]) ? 'int':'string');
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        GetType prüft auf den derzeitigen Type einer Variablen ... nicht den möglichen.
        MySQL-Funktionen liefern eigentlich immer nur Strings zurück.

        Eine Einfache Prüfung auf Integer:

        (string)((int)$value)==(string)$value

        PS.: Wenn schon REGEX dann preg ... weil schneller!
        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
          @goth: versteh leider nicht ganz, wie du das meinst mit deiner prüfung.
          kannst du mir das ein bisschen genauer erläutern? was macht
          diese?

          Kommentar

          Lädt...
          X