![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Gnom, 31. 03. 2007, 20:14
Hallo,
wieso kann man so prüfen:
$erg=($a=="foo")? true:false;
und so:
$erg=($a==="foo")? true:false;
wo liegt der unterschied? was bedeutet das '==='...
irgendwie komme ich nun drucheinander.. ich dachte immer == dient zum vergleich..
danke für hilfe && einen schönen abend noch!
Die folgende Nachricht zum Thema stammt von: wucher wichtel, 31. 03. 2007, 20:18
Hallo!
Hier wird alles erklärt: http://tut.php-q.net/vergleich.html#u2
ciao, ww
--
Ein japanisch-deutsches Gedicht
sh:( fo:| ch:~ rl:( br:> n4:~ ie:% mo:) va:) de:] zu:) fl:( ss:| ls:~ js:)
Die folgende Nachricht zum Thema stammt von: %tul, 01. 04. 2007, 00:40
Hi
»» wo liegt der unterschied? was bedeutet das '==='...
»» irgendwie komme ich nun drucheinander.. ich dachte immer == dient zum vergleich..
Stimmt auch. === dient auch zum Vergleich.
Der Unterschied besteht darin, dass "===" zusätzlich prüft, ob die Typen der beiden Ausdrücke gleich sind.
{code lang=php]
$i =(int)1;
if($i=="1")
[/code}
ergibt false.
{code lang=php]
$i =(int)1;
if($i==1)
[/code}
ergibt true.
(ich habe den Code nicht getestet, aber er muss so eigentlich stimmen)
Tschausen
%tul
Die folgende Nachricht zum Thema stammt von: Tom, 01. 04. 2007, 11:42
Hello,
»» »» wo liegt der unterschied? was bedeutet das '==='...
Kleine Richtigstellung und ein paar Erläuterungen:
<?php ### operator_equal.php ###
$i = (int)1; ## Bei der Zuweisung einer ganezen Zahl
## würde $i automatisch den Typ integer annehmen
if($i == "1") ## liefert TRUE
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
$i = (int)1;
if($i == 1) ## liefert TRUE
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
if($i === "1") ## liefert FALSE
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
$i = (int)1;
if($i === 1) ## liefert TRUE
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
## auch ganz interessant
$i = '';
if($i == TRUE)
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
if($i === TRUE)
{
echo "TRUE";
}
else
{
echo "FALSE";
}
echo "<hr>";
if($i === FALSE)
{
echo "TRUE";
}
else
{
echo "FALSE";
}
?>
== prüft auf Gleichheit, besser ausgedrückt,
ob sich die beiden Seiten gleichen
=== prüft auf Identität, also ob der Inhalt der línken Seite
und der rechten sowohl vom Wert, als auch vom Typ übereinstimmen
Probier einfach mal ein paar Sachen aus. Das ist besser, als nur Büchern zu glauben ;-)
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
© 1998-2006
Impressum, Software: Classic Forum