phpbar.de logo

Mailinglisten-Archive

[php] Kein Unterschied zwischen: empty, =="", !, !isset ?

[php] Kein Unterschied zwischen: empty, =="", !, !isset ?

Oliver Kummerow naklar_(at)_altavista.net
Wed, 08 Sep 1999 10:56:16 +0200


Hi,

Ich bin immer noch nicht 100% sicher, wie die Leerstrings völlig richtig
abgefragt werden müssen. Ich versuche die verschiedenen Möglichkeiten
aufzulisten. Bitte um Kritik, falls was nicht stimmt. 

Es gibt anscheinend 3 Möglichkeiten:

1. if ( empty ( $str ) ) 

Damit werden die Fälle positiv evaluiert, in denen $str=<leer> ist und
falls $str=0 ist (unangenehm), aber auch, wenn in Wirklichkeit
!isset($str) zutrifft (u.U. ebenfalls unangenehm).
Daher ist die Evaluation mit !isset faktisch nur ein Spezialfall der
Evaluation mit empty. Heisst, empty ( $str ) kann alternativ zu !isset (
$str ) eingesetzt werden.


3. if ( $str != "" )

Liefert in allen Fällen das gleiche Ergebnis wie unter 1.

2. if ( ! str )

Ebenfalls das gleiche. Nur kürzer. 

Was ich nicht ganz einsehe: Die beiden unten genannten Fälle machen
wegen des identischen Evaluationsergebnisses empty überflüssig? Rätsel
über Rätsel...




Zum Nachprüfen:
if ( empty ( $str ) ) 
{echo "<br>" . "empty";
}
if ( $str == "" ) 
{echo "<br>" . "== \"\"" ;
}
if ( ! $str ) 
{echo "<br>" . " ! \$str";
}
if ( ! isset ( $str ) ) 
{echo "<br>" .  "! isset";
}


Danke für die Antworten.


Mit freundlichen Grüßen,
Oliver Kummerow
email: naklar_(at)_altavista.net



php::bar PHP Wiki   -   Listenarchive