Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

null == 0





Frage

moin $zeile = ´#bla´; if((strpos($zeile, ´#´))==0) { .. } unterscheidet php nicht zwischen null und 0? will halt, dass das if-statement nur ausgeführt wird, wenn an der ersten position ein ´#´ steht. allerdings ist die bedingung auch gültig, wenn das ergebniss null (im boolschen sinne) ist, also ´#´ nicht in $zeile vorhanden ist. wie kann man da unterscheiden? g, disco

Antwort 1 von Supermax

nimm den identitätsoperator ===

außerdem mußt du mit "false" (logisch falsch) vergleichen, nicht mit null

also

if ((strpos($zeile,´#´) === false)


Antwort 2 von disco

danke.

mit dem null == 0 hab ich mich vertan. es sieht ja so aus, als ob 0 wie false behandelt wird.

das mit dem === kenn ich.
leider nützt das hier nix, da die ´#´ ja auch an einer anderen position stehen könnte, aber nur etwas passieren soll wenn es an position 0 steht.

Antwort 3 von disco

ps: klar kann ich mir da jetzt mit ein paar zeilen mehr etwas zusammen basteln, um das problem zu umgehen. aber da muss es doch ne einzeilige lösung geben.

Antwort 4 von Supermax

wenn du Position 0 abfragen willst dann mach

if ((strpos($zeile,´#´) === 0


Oder du machst überhaupt

if (substr($zeile,0,1) == ´#´)


Antwort 5 von disco

thx

komischer weise habe ich das mit dem ===0 vorhin probiert, aber nen fehler bekommen. jetzt gehts. war wohl woanders der wurm drin.

danke

g,
disco

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: