kostenloser Webspace werbefrei: lima-city


Variable ist leer aber nicht (int) 0 [Zahl: null] ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    plugboard

    plugboard hat kostenlosen Webspace.

    Hallo

    wie kann ich eine Variable prüfen, ob wirklick "leer" ist und nicht doch den Wert (int) 0 [Zahl: null] hat ?

    bei Prüfung empty() ist eine Variable mit dem Wert (int) 0 [Zahl: null] auch ein Treffer

    $variable = 0;
    if (empty($variable)) { 
    $variable = 'n/a'; 
    }


    so wird mir auch der Wert 0 zu 'n/a' ersetzt

    aber ich will den Wert (int) 0 [Zahl: null] nicht durh 'n/a' ersetzt haben,
    also wenn $variable = 0; dann soll der Wert 0 [Zahl: null] bleiben,
    nur wenn die Variable wirklich "Leer" ist, dann durch 'n/a' ersetzen
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. plugboard schrieb:
    Hallo

    wie kann ich eine Variable prüfen, ob wirklick "leer" ist und nicht doch den Wert (int) 0 [Zahl: null] hat ?

    bei Prüfung empty() ist eine Variable mit dem Wert (int) 0 [Zahl: null] auch ein Treffer

    $variable = 0;
    if (empty($variable)) { 
    $variable = 'n/a'; 
    }


    so wird mir auch der Wert 0 zu 'n/a' ersetzt

    aber ich will den Wert (int) 0 [Zahl: null] nicht durh 'n/a' ersetzt haben,
    also wenn $variable = 0; dann soll der Wert 0 [Zahl: null] bleiben,
    nur wenn die Variable wirklich "Leer" ist, dann durch 'n/a' ersetzen



    if($variable == ""){ // zwei Anführungszeichen
    // mach was
    }
  4. Meinst du das ?
    if (!isset($variable))
    {
           $variable = "n/a";
    }
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    sixchat schrieb:
    Meinst du das ?
    if (!isset($variable))
    {
           $variable = "n/a";
    }
    Vermutlich nicht, weil:
    Gibt TRUE zurück, wenn var existiert einen von NULL verschiedenen Wert hat, andernfalls FALSE.


    Zu
    empty()
    :
    Gibt FALSE zurück, wenn var einen nicht-leeren und von 0 verschiedenen Wert hat.

    Folgende Dinge zählen als nicht mit einem Wert belegt:
    ■"" (eine leere Zeichenkette)
    ■0 (0 als Integer)
    ■0.0 (0 als Fließkommazahl)
    ■"0" (0 als Zeichenkette)
    ■NULL
    ■FALSE
    array() (ein leeres Array)
    Also der Code der gesucht wird ist sowas in die Art:
    if(empty($variable) && ($variable != '0'))
    	$variable = 'n/a';
  6. t*****b

    Mal ganz blöd...

    if($var == "") {
     echo "Variable ist void";
    } else {
     echo "Variable hat ein Wert";
    }


    Bei
    $var = ""; => Variable ist void
    $var = 0; => Variable hat einen Wert

    Beitrag zuletzt geändert: 10.5.2012 15:00:02 von trueweb
  7. Ein positiv ausfallender Vergleich mit einem leeren String bedeutet nicht, dass die Variable leer ist, sondern eben, dass die gefüllt ist. Und zwar mit einem leeren String oder etwas, das darauf passt. Ein richtiger Vergleich geht nicht mit
    ==
    , sondern mit
    ===
    . Dementsprechend fällt der Vergleich dann auch negativ aus, wenn man die Variable mit einem leeren String vergleicht.

    @TE: Was du suchst, ist
    null
    . Schreibe einfach
    if($deineVariable === null) { [...] }
    .
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!