not isset()
Andreas
- php
Hallo,
ich möchte wenn $re_GastName = mysql_result($sql_replies,$i,"GastName"); kein Ergebnis liefert, dass $re_GastName ein anderer Wert zugewiesen wird.
Ich probierte es mit:
if (!isset($re_GastName))
$re_GastName = "Gast";
was aber nicht funktioniert.
Wie muss es richtig heißen?
Gruß Andreas
hallo,
ich möchte wenn $re_GastName = mysql_result($sql_replies,$i,"GastName"); kein Ergebnis liefert
Hm. Ich glaube, du möchtest etwas anderes, nämlich "wenn mysql_result($sql_replies,$i,"GastName") kein Ergebnis liefert soll $re_GastName keinen Inhalt bekommen".
dass $re_GastName ein anderer Wert zugewiesen wird.
Nichts sollte dich daran hindern.
Ich probierte es mit:
if (!isset($re_GastName))
Das bringt dir gar nix. "isset" prüft ja nur das Vorhandensein einer Variablen (siehe http://de.php.net/manual/de/function.isset.php), und die hast du vorher bereits bestätigt, also ist sie da. Du solltest prüfen, ob der Inhalt deiner Variablen irgendeinem erwarteten Wert entspricht, und deine if/else-Bedingung daran ausrichten.
Grüße aus Berlin
Christoph S.
Hallo,
Danke für die Antwort.
Du solltest prüfen, ob der Inhalt deiner Variablen irgendeinem erwarteten Wert entspricht, und deine if/else-Bedingung daran ausrichten.
Genau das wars, ich habe einfach überprüft ob die Variable Null ist.
Gruß Andreas
hallo Andreas,
Genau das wars, ich habe einfach überprüft ob die Variable Null ist.
Ähm, nein. Du hast mit isset überprüft, ob sie existiert, und das tut sie ja nach deiner bisherigen Konstruktion. Du solltest prüfen, ob ihr _Wert_ Null (oder etwas anderes) ist, und das leistet isset nicht, dafür gibts aber eine Menge andere Möglichkeiten.
Grüße aus Berlin
Christoph S.
'morgen,
jetzt sags ihm doch einfach, du Sadist ;-)
empty prüft auf null, "" (leerer String), 0 und auf isset
http://at2.php.net/manual/de/function.empty.php
schöne Grüße
FICHTL
Hi,
sollte man dann nicht besser prüfen, ob die Variable einen bestimmten Typ hat?
Wenn ich einen Leerstring zuweise, dann ist die Variable i.d.R. vorhanden, hat den Typ STRING und keinen Wert.
Als was kommen denn Zuweisungen aus dem HTML-Environment bei PHP an? Doch eigentlich immer als String, oder?
Fragen über Fragen...
Tom
sollte man dann nicht besser prüfen, ob die Variable einen bestimmten Typ hat?
Wenn du wissen willst ob sie einen bestimmten Typ hat wirst du
das wohl prüfen müssen. aber zB.: Wenn ich etwas aus MySql selektiere
(mysql_select) bekomme ich entweder false oder ein resource oder true. (siehe php.net)
Warum sollte ich da schauen ob es wirklich ein resource oder true
ist? Wenn ich weiß das es nicht false ist muß es doch zwangsläufig ein resource oder true sein. Und da mir das sowieso egal ist was
von den beiden zurückkommt Hauptsache es ist positiv, teste ich nur
auf das.
Anders Beispiel: Wenn du mittels "strpos()" feststellen willst ob
ein String in einem anderen enthalten ist, kannst du entweder
false oder die position (int) zurückbekommen. Da die Position aber
auch 0 (int) sein kann kannst du nicht mit empty arbeiten oder
einfach if (strpost('bla','bla')) {} schreiben. Dann mußt du
explizit auf false prüfen, das kann man mit dem "==="-Operator machen
if (strpost('bla','bla') === false)
Kommt also immer darauf an was genau du wissen willst.
Wenn ich einen Leerstring zuweise, dann ist die Variable i.d.R. vorhanden, hat den Typ STRING und keinen Wert.
ja und... var_dump sagt: string(0) ""
Als was kommen denn Zuweisungen aus dem HTML-Environment bei PHP an? Doch eigentlich immer als String, oder?
ja, eigentlich schon, außer der Name des input-Feldes hört mit []
auf. zB. name="test[]" dann bekommst du ein Array zurück.
Schöne Grüße
FICHTL