Martin Hein: immer wieder: 0 || NULL

Hallo Forum,

ich habe immer mal wieder das problem:

ich will eine variable auf ihr vorhandensein prüfen.
wenn sie den wert 0 hat ist sie in meiner prüfung
nicht vorhanden. bsp:

if ($_POST['d1'])

wenn $_POST['d1'] den wert 0 hat, ist die prüfung negativ.

immer wieder kann man da irgendwelche einzelplatzlösungen
bauen, aber ich hätte gerne was amtliches ;)

wie macht ihr sowas ?

danke für tipps und

beste gruesse,
martin

  1. echo $begrüßung;

    ich will eine variable auf ihr vorhandensein prüfen.

    isset()

    frecho "$verabschiedung $name";

  2. Ich grüsse den Cosmos,

    ich will eine variable auf ihr vorhandensein prüfen.

    isset8)

    wenn sie den wert 0 hat ist sie in meiner prüfung
    nicht vorhanden. bsp:

    if ($_POST['d1'])

    Damit prüfst du aber nicht auf 0. Mal abgesehen davon, das eine Variable mit dem Inhalt 0 nicht leer ist.
    Diese Zeile prüft, ob die Variable FALSE ist.

    wenn $_POST['d1'] den wert 0 hat, ist die prüfung negativ.

    if($_POST['id'] != 0)

    Nachfolgender Code wird ausgeführt, wenn id nicht 0 ist.

    immer wieder kann man da irgendwelche einzelplatzlösungen
    bauen, aber ich hätte gerne was amtliches ;)

    Ähm? Wie meinen?

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
    1. Moin!

      if ($_POST['d1'])

      Damit prüfst du aber nicht auf 0. Mal abgesehen davon, das eine Variable mit dem Inhalt 0 nicht leer ist.
      Diese Zeile prüft, ob die Variable FALSE ist.

      Nein, noch schlimmer!

      Diese Zeile prüft, ob der Wert der Variablen zu "true" evaluiert - dann wird der IF-Block ausgeführt, sonst der ELSE-Block.

      Alle Variablen evaluieren zu "true", außer sie evaluieren zu "false" in diesen Fällen:

      $var = false;   // Boolean
      $var = 0;       // Integer
      $var = 0.0;     // Fliesskommazahl
      $var = NULL;    // oder undefinierte Variable
      $var = "";      // leerer String
      $var = "0";     // String mit der Null
      $var = array(); // leeres Array
      sowie Objekte ohne Mitgliedsvariablen.

      Siehe auch http://de.php.net/manual/de/language.types.boolean.php#language.types.boolean.casting

      Mit anderen Worten: Man kriegt eine ganze Menge an Werten nicht, obwohl diese im Sinne der Programmlogik höchstwahrscheinlich als "true" gewerten werden sollten.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."