Doppeltes =

grünes-huhn

Mitglied
Hallo,
Wahrscheinlich ist meine Frage ziemlich lächerlich, jedoch würde ich gerne wissen warum bei einer If-Anweisung "==" statt "=" steht . z.B.:
if ($down[4]=="ppt")

Danke schon mal !
 
Lasse dir die begriffe einfach mal auf der Zunge zergehen

"Zuweisung" : Man weist einer variable einen Wert zu
PHP:
$a=0;
$b=4;
$a = $b;
//jetzt ist $a auch 4

"Vergleich" : Man vergleicht 2 Werte miteinander. Man weißt $a aber nicht den Wert von $b zu bei dem example, denn es ist nur ein VERLGLEICH
PHP:
$a=0;
$b=4;
if($a == $b){...}

Um dich zu verwirren, es gibt noch eine schreibweise : === ;)
 
=== überprüft ob sie wirklich gleich sind (vom selben Typ) gabs vor kurzem mal ein Sicherheitsleck im phpBB damit
 
Sinac hat gesagt.:
vom selben Typ?
Naja, eher den Inhalt der Variable, oder?

Nein, den Inhalt vergleichst du ja mit "==".

Und Inhalt und Datentyp (Integer, boolean, etc.) überprüfst du halt mit "===", so wie ich das verstehe....
 
Sinac hat gesagt.:
vom selben Typ?
Naja, eher den Inhalt der Variable, oder?
=== Prüft beides. Damit === true zurückliefert, muss der Inhalt gleich sein und die Variablen müssen vom selben Typ sein. Beispielsweise in Verbindung mit [phpf]strpos[/phpf] ist das nötig, da (0==false) true ergibt (0: Gefunden an Position 0, false: nicht gefunden), aber (0===false) false ergibt.

Gruß hpvw

EDIT:
Vergleichsoperatoren
PHP type comparison tables
 
Zuletzt bearbeitet:
Ups, ich hab mal wieder nicht richtig gelesen, sorry!
Wusste ich aber auch nicht, gibts den bei C/C++ auch?
 
Zurück