Was heißt "===" ?
Stan
- php
Hi,
Was heißt das, wenn bei einer if-Abfrage steht: if ($var==="") oder so ähnlich?
Ich kenne nur $var=="" und $var!=""
Was bedeuten drei Istgleichzeichen?
Stan
Hallo!
Dabei wird nicht nur überprüft, ob der Wert der Variablen übereinstimmt, sondern auch, ob zusätzlich auch noch der Typ der beiden Variablen gleich ist.
Michael
puts "Hallo " + gets.chomp + "."
?> Stan
=> Hallo Stan.
Was bedeuten drei Istgleichzeichen?
Das steht im Handbuch; sogar mit Testfällen.
Einen schönen Montag noch.
Gruß, Ashura
Hallo,
Was bedeuten drei Istgleichzeichen?
Das auch der Typ Stimmen muss!
boolean a = true
if (a === "true") ist false
aber
if (a === true) ist true
Das eine ist ein String das andere eine Variable vom Typ Boolean
demnach sollte auch:
if (a == "true") true sein
Mit freundlichem Gruß
Micha
Was bedeuten drei Istgleichzeichen?
= ist ein Zuweisungsoperator, kann also nicht für Vergleiche verwendet werden.
== ist ein Vergleichsoperator, wird also am häufigsten benutzt.
=== ist ebenfalls ein Vergleichsoperator, und prüft, ob etwas _identisch_ ist.
Identisch heißt mehr als gleich. Neben Inhalt von bspw Variabeln muss auch noch der Datentyp übereinstimmen. Ein Vergleich von (1==="1") wird deshalb ein "false" zurückgeben.
Denke, ich konnte weiterhelfen.
rudolph
Hi,
=== ist ebenfalls ein Vergleichsoperator, und prüft, ob etwas _identisch_ ist.
nur eine kleine doofe Anmerkung: "identisch" waeren m.E. bestenfalls zwei oder mehrere Referenzen auf ein und denselben Speicherbereich. Wenn ueberhaupt. Sind "Datentyp" und Datenwert identisch, so sollte m.E. nicht von einer "Identizitaet" gesprochen werden.
Gruss,
Ludger
echo $begrüßung;
= ist ein Zuweisungsoperator, kann also nicht für Vergleiche verwendet werden.
Das sehe ich nicht so. Das Ergebnis einer Zuweisung ist der Wert der Zuweisung.
if ($id = getID())
Verwendung von $id
Das ist kein Fehler sondern Absicht. getID() liefert eine ID -- oder 0 wenn es keine ID ermitteln konnte. Der Rückgabewert von getID() wird $id zugewiesen und if vergleicht ob ein ID-Wert ungleich 0 ermittelt werden konnte, und arbeitet dann mit dem in $id zwischengespeicherten Wert den Anweisungsblock ab.
echo "$verabschiedung $name";
Hallo,
Das sehe ich nicht so. Das Ergebnis einer Zuweisung ist der Wert der Zuweisung.
if ($id = getID())
Verwendung von $id
Völlig korrekt. Aber dann hast du auch keinen _Vergleich_, sondern nur eine _Auswertung_ eines Ausdrucks als boolean. Es ändert nichts daran, dass '=' hier ausschließlich ein Zuweisungs- und kein Vergleichsoperator ist.
Das geht in C übrigens genauso elegant. :)
Ciao,
Martin