Paul: isset

Moin.
Wo liegt der Unterschied zwischen:

if (isset($_POST['abc'])) {...}

und

if ($_POST['abc']) {...}

Funktionell find ich keinen...

Paul

  1. echo $begrüßung;

    Wo liegt der Unterschied zwischen:
    if (isset($_POST['abc'])) {...}
    und
    if ($_POST['abc']) {...}

    isset() prüft eine Variable auf Vorhandensein, das zweite ist eine logische Auswertung ihres Inhalts. Während in deinem Beispiel isset() bei jeglichem Inhalt von $_POST['abc'] außer null (was aber durch ein Formular nicht vorkommen kann) ein true ergibt, können im zweiten Fall in $_POST['abc'] auch Werte stehen, die durch PHPs eingebautem Typecast zu false werden.

    echo "$verabschiedung $name";

    1. Danke.

      echo $begrüßung;

      Wo liegt der Unterschied zwischen:
      if (isset($_POST['abc'])) {...}
      und
      if ($_POST['abc']) {...}

      isset() prüft eine Variable auf Vorhandensein, das zweite ist eine logische Auswertung ihres Inhalts. Während in deinem Beispiel isset() bei jeglichem Inhalt von $_POST['abc'] außer null (was aber durch ein Formular nicht vorkommen kann) ein true ergibt, können im zweiten Fall in $_POST['abc'] auch Werte stehen, die durch PHPs eingebautem Typecast zu false werden.

      echo "$verabschiedung $name";

      1. Du kannst mal folgendes testen:

        $_POST['abc']=false;

        jetzt ergibt

        if ($_POST['abc']) das Resultat false, weil es ja false ist
        und
        if (isset($_POST['abc'])) das Resultat true weil es ja existiert