if false && false && false..
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
angeben
code
ergebnis
ersten hinweis
erwartet code
header
helfen
http
inhalt
lektion
mache
machen
neustart
problem
richtigen wert code
software
syntax
url
versuch
-
Hallo
Ich habe 4 Variablen in PHP, die alle false zurückliefern.
if ($a === false) {exit ('blub');}
Wenn ich aber mehr als eine Variable mit if abfrage tut PHP so, als ob nicht alle Variablen false wären:
if ($a === false && $b === false && $c === false && $d === false) {exit ('blub');}
Einzeln funktioniert es aber (mit jeder Variable), das macht doch keinen Sinn? Mache ich etwa etwas bei der Syntax falsch? Die Variablen wurden übrigens mit strpos "gefüllt", bzw. eben nicht (string kommt nicht vor).
Komm' einfach nicht drauf.
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Interessant, denn das funktioniert wie erwartet:
<?php header('content-type: text/plain'); $a = false; $b = false; $c = false; $d = false; var_dump($a); var_dump($b); var_dump($c); var_dump($d); if($a === false && $b === false && $c === false && $d === false) { exit('blub'); } exit('gluck');
Eventuell mal die Variablen mit
ausgeben und schauen ob die überhaupt den richtigen Wert (var_dump()
) haben…bool(false)
-
Versuch es mal so:
$a = false; $b = false; $c = false; $d = false; if($a == false and $b == false and $c == false and $d == false) { //=== fragt auch ab, ob der Stringtyp gleich ist, == fragt nur den Inhalt ab echo "alle Variabeln sind false"; }
Guck dir vielleicht nochmal das hier an, da wird das nochmal etwas genauer erklärt (Scrall mal runter bis zum ersten "Hinweis")
Ich hoffe, ich konnte helfen.
MFG THWBM -
thwbm schrieb:
Was aber zu einem anderen Ergebnis führt, da
Versuch es mal so:
$a = false; $b = false; $c = false; $d = false; if($a == false and $b == false and $c == false and $d == false) { //=== fragt auch ab, ob der Stringtyp gleich ist, == fragt nur den Inhalt ab echo "alle Variabeln sind false"; }
Guck dir vielleicht nochmal das hier an, da wird das nochmal etwas genauer erklärt (Scrall mal runter bis zum ersten "Hinweis")
Ich hoffe, ich konnte helfen.
MFG THWBM
auchstrpos()
zurückgeben kann, was von deinem Code als "nicht gefunden" interpretiert werden würde.0
Mittlerweile wurde das Problem aber schon gelöst -
Hallo
hackyourlife schrieb:
Mittlerweile wurde das Problem aber schon gelöst
Ja, es wurde gelöst. Du hättest ruhig auch die Lösung angeben können. :P
Es lag am Webserver auf dem lighttpd mit php5-fpm läuft. Nach einem Neustart von php5-fpm war alles gut. An sowas denkt doch keiner.
Es geht übrigens mit regular expressions wesentlich kürzer, wie hackyourlife mir in seiner Güte gezeigt hat. Danke nochmal.
mfg -
hackyourlife schrieb:
Was aber zu einem anderen Ergebnis führt, da
auchstrpos()
zurückgeben kann, was von deinem Code als "nicht gefunden" interpretiert werden würde.0
Ok, das wusste ich nicht. Auch wenn das problem bereits gelöst wurde möchte ich mich jetzt hier verbessern:
$a = false; $b = false; $c = false; $d = false; if($a == false or $a == 0) { if($b == false or $b == 0) { if($c == fase or $c == 0) { if($d == false or $d == 0) { echo "alle Variabeln sind entweder false oder 0."; } } } }
MFG THWBM -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage