isset() prüft auch auf Variableninhalt?

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

  • isset() prüft auch auf Variableninhalt?

    Hallo,

    prüft isset() nur ob eine Variable vorhanden ist oder auch ob Inhalt darin ist?

    Beispiel:

    if(isset($_GET['parameter']){...}

    Und wie sieht es aus, wenn ich ohne isset() z.B. nur prüfe, ob $_GET['parameter'] is_int() teste?

    Beispiel:

    if(is_int($_GET['parameter']){...}

    Dann brauch ich doch theoretisch isset() nicht mehr oder?

  • #2
    Re: isset() prüft auch auf Variableninhalt?

    Original geschrieben von Truncate
    prüft isset() nur ob eine Variable vorhanden ist oder auch ob Inhalt darin ist?
    Was hast du an der Erklärung im Manual nicht verstanden?
    if(is_int($_GET['parameter']){...}

    Dann brauch ich doch theoretisch isset() nicht mehr oder?
    Wenn nicht garantiert ist, dass es diesen Parameter gibt - doch, natürlich.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      isset prüft nur, ob eine Variable existiert.

      Kommentar


      • #4
        Re: Re: isset() prüft auch auf Variableninhalt?

        Original geschrieben von wahsaga
        Wenn nicht garantiert ist, dass es diesen Parameter gibt - doch, natürlich.
        Ja aber wozu dann 2 Abfragen wenn doch is_int() in dem Falle dann sowieso ein false zurückliefert, weil überhaupt nichts vorhanden ist?!

        Kommentar


        • #5
          es führt zu nichts, is_int() anstatt isset() zu verwenden.
          Es geht unter Umständen, empty() anstatt isset() zu verwenden, schiesst aber auf die falsche Seite (weil '0' auch empty ist usw.).

          Kommentar


          • #6
            Re: Re: Re: isset() prüft auch auf Variableninhalt?

            Original geschrieben von Truncate
            Ja aber wozu dann 2 Abfragen wenn doch is_int() in dem Falle dann sowieso ein false zurückliefert, weil überhaupt nichts vorhanden ist?!
            weil is_int() auch eine Fehlermeldung auf die webseite sendet. Diese lautet:
            Notice: Undefined variable: **** in /****/******/******.php on line ***

            Kommentar


            • #7
              Gut, also immer erst isset() und danach eine genauere Überprüfung mit is_int, preg_match (oder was auch immer)...

              Oder einfach so: if($parameter){...} :-)

              Kommentar


              • #8
                häufig ist es sinnvoll, den Wert in eine Variable zu übernehmen und einen defaultwert zu setzen. $wert=isset($_GET['wert']? $_GET['wert']: 'standardwert';

                Kommentar


                • #9
                  Original geschrieben von Truncate
                  Oder einfach so: if($parameter){...} :-)

                  ganz schlechter Stil

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    isset prüft nur, ob eine Variable existiert.
                    Das wäre schön.......

                    isset kann schon mal verblüffende Ergebnisse liefern......
                    Es prüft, in wirklichkeit, den Inhalt einer Variablen!!
                    Wobei ein leerer String oder 0 gültiger Inhalt sind.
                    Aber NULL eben nicht!!
                    PHP-Code:
                    error_reporting(E_ALL);
                    ini_set('display_errors'TRUE); 

                    class 
                    test {} // ein dummy reicht für den test

                    // ausgabe korrekt
                    echo (isset($var))?'gibts<br>''gibts nicht<br>';

                    $var = new test;

                    // ausgabe korrekt
                    echo (isset($var))?'gibts<br>''gibts nicht<br>';

                    $var null// objekt freigeben

                    // ausgabe anders als vielleicht erwartet!!!
                    echo (isset($var))?'gibts<br>''gibts nicht<br>';

                    // die einzig richtige Auskunft liefert:
                    echo (array_key_exists('var',$GLOBALS))?'gibts<br>''gibts nicht<br>'
                    Zuletzt geändert von combie; 02.06.2006, 08:51.
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      http://www.php.net/manual/de/types.comparisons.php
                      Sunshine CMS
                      BannerAdManagement
                      Borlabs - because we make IT easier
                      Formulargenerator [color=red]Neu![/color]
                      Herkunftsstatistik [color=red]Neu![/color]

                      Kommentar

                      Lädt...
                      X