Dummiefrage: Wofür braucht man isset() eigentlich?
Andy
- php
Hi,
nur mal so, weil ich's nicht verstehe?o)
Wofür taucht isset()?
Ich erlebe keinen Unterschied zwischen
if ($array) und if (isset($array))
Kann man sich isset schenken,
oder aus welchen Gründen (oder wofür sonst) nutzt man das?
Gruss, Andy
Hi Andy,
Wofür taucht isset()?
Als ich den Titel las, dachte ich erst, du wolltest wissen, wozu man isset() brauche, wenn es doch empty() gäbe.
Ich erlebe keinen Unterschied zwischen
if ($array) und if (isset($array))
Nun, wenn wir jetzt vielleicht nicht gerade ein Array haben, sondern eine Wert, der 0 oder 1 sein soll:
$tu_dies_und_das = 0; //dies_und_das soll NICHT gemacht werden
Jetzt wäre ein Unterschied zwischen:
if($tu_dies_und_das)
und
if(isset($tu_dies_und_das))
Letzteres wird immer wahr sein, da wir die Variable ja gerade oben initialisiert haben, ersteres wird allerdings nur wahr sein, wenn $tu_dies_und_das UNGLEICH 0 ist.
Kann man sich isset schenken,
oder aus welchen Gründen (oder wofür sonst) nutzt man das?
Nein, wie du siehst, kann man sich das nicht, du kannst nämlich z.b. nicht überprüfen, ob $_POST Werte o.ä. da sind, falls für den Wert auch 0 ein zulässiger Wert ist.
Genauso ist das übrigens auch mit empty, wenn der Wert einer Variable 0 ist, gibt empty auch false zurück.
Ach ja, außerdem solltest du beim Entwickeln das Error_reporting auf E_ALL stellen, dann kriegst du auch ne Notice Meldung, wenn du auf eine Variable zugreifst, die nicht exisiert, z.B. mit if($var).
MfG, Dennis.
Hi Dennis,
Danke geblickt !
Ich sehe für mich persönlich zwar noch keinen Anwendungsfall,
weil ich mit if ($ohneisset) ob der Wert existent oder ungleich 0 ist,
aber es wird sicher Anwendungsgebiete geben.
Vielleicht in Berechnungen
oder um Artikel aus dem Warenkorb zu kriegen oder so ...
Thanks, Andy
Hi Andy,
Ich sehe für mich persönlich zwar noch keinen Anwendungsfall,
weil ich mit if ($ohneisset) ob der Wert existent oder ungleich 0 ist,
aber es wird sicher Anwendungsgebiete geben.
Ich habe z.B. gerade bzw. bin dabei ein Verwaltungscenter für eine Seite zu programmieren, da kann man dann diverse Sachen konfigurieren, die Werte werden dann in ner DB gespeichert.
Viele Konfigurationen bestehen aus "ja" und "nein", für das ich 1 und 0 verwende. Beim Auslesen aus der DB und Weiterverarbeiten kann ich dann schon abfragen if($configuration_sowieso) ob ein bestimmter Vorgang eingeleitet werden soll oder nicht, aber wenn ich die Konfiguration vom User emfpagen, muss ich sie natürlich auch prüfen, und da kann der Wert natürlich auch 0 sein.
Vielleicht in Berechnungen
oder um Artikel aus dem Warenkorb zu kriegen oder so ...
Da natürlich auch, aber nicht nur da ;-)
MfG, Dennis.
Hi Dennis,
Viele Konfigurationen bestehen aus "ja" und "nein", für das ich 1 und 0 verwende.
Das wäre dann bei mir der else-Fall.
Ich hab' gerade mal gespielt,
der reagiert ja echt auf $array = "";
Eigentlich wollte ich schreiben:
Jou geil, ich erinner mich an eine Passage
if (!$array) {
$array = "0"
}
, das änder ich doch gleich mal ...
Aber da brauch ich gesichert eine 0 als Wert,
also änder ich besser doch nicht ...
LG, Andy
Das wäre dann bei mir der else-Fall.
Wenn Du nur abfragst
if ($a=="xy"){...}
else{...}
wird Dir eine Fehlermeldung erscheinen sofern $a nicht bekannt ist ("undefined variable ..."). Daher muss man dafür ein if( isset($a) ){..} machen.
Hello Dennis,
Genauso ist das übrigens auch mit empty, wenn der Wert einer Variable 0 ist, gibt empty auch false zurück.
Ich weiß zwar, dass Du das richtige gemeint hast, aber der Ordnung halber:
empty($wert) gibt true zurück, wenn
$wert == 0 oder
$wert == '' oder
$wert == false oder
$wert == NUL ist
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hallo Andy,
Ich erlebe keinen Unterschied zwischen
if ($array) und if (isset($array))
dann stell mal error_reporting() auf E_ALL - dann wirst du von php eine Meldung bekommen wenn $array nicht gesetzt ist.
Grüße aus Nürnberg
Tobias
Ich erlebe keinen Unterschied zwischen
if ($array) und if (isset($array))
Hausaufgabe: Was kommt denn hierbei raus und warum?
echo ($array) ? 'ja' : 'nein';
echo '<br>';
$array = array();
echo ($array) ? 'ja' : 'nein';
echo '<br>';
$array[] = 42;
echo ($array) ? 'ja' : 'nein';