drie dubbele =
Wat is het verschil tussen == en ===?
Gesponsorde koppelingen:
'==' controleerd of 2 variabelen hetzelfde zijn:
Maar omdat PHP de gebruiker het datatype niet laat bepalen, is dat vrij globaal, dit werkt bijvoorbeeld ook:
Dus hier heb je een int (rond getal) die vergeleken wordt met een boolean (true / false) en wordt hetzelfde bevonden, dus php vind 1 hetzelfde als 'true';
Zo zal php dat getal als string: "1" OOK hetzelfde vinden als het getal '1' en de boolean 'true';
Dit kan soms vervelend zijn, dus als je wilt dat de inhoud van een variabele hetzelfde is EN de datatype, moet je 3x = gebruiken, dan is alles wat stricter, zoals in een programmeer taal als java of C++:
Maar omdat PHP de gebruiker het datatype niet laat bepalen, is dat vrij globaal, dit werkt bijvoorbeeld ook:
Dus hier heb je een int (rond getal) die vergeleken wordt met een boolean (true / false) en wordt hetzelfde bevonden, dus php vind 1 hetzelfde als 'true';
Zo zal php dat getal als string: "1" OOK hetzelfde vinden als het getal '1' en de boolean 'true';
Dit kan soms vervelend zijn, dus als je wilt dat de inhoud van een variabele hetzelfde is EN de datatype, moet je 3x = gebruiken, dan is alles wat stricter, zoals in een programmeer taal als java of C++:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
$var1 = 1;
$var2 = true;
$var3 = 1;
if($var1 === $var2) {
return true;
// Nu werkt het niet, omdat er 3x '=' staat
}
if($var1 === $var3) {
return true;
Dit werkt weer wel, omdat $var1 en $var3 echt hetzelfde zijn, allebei 'int' en allebei hetzelfde getal
}
$var2 = true;
$var3 = 1;
if($var1 === $var2) {
return true;
// Nu werkt het niet, omdat er 3x '=' staat
}
if($var1 === $var3) {
return true;
Dit werkt weer wel, omdat $var1 en $var3 echt hetzelfde zijn, allebei 'int' en allebei hetzelfde getal
}
Gewijzigd op 01/01/1970 01:00:00 door Marco
Nils schreef op 14.11.2008 10:02:
Wat is het verschil tussen == en ===?
==: Beide variabelen zijn gelijk aan elkaar
===: Beide variabelen zijn gelijk aan elkaar en zijn van hetzelfde type.
$i = 1
$j = "1"
$i == $j maar $i !=== $j
$j = "1"
$i == $j maar $i !=== $j
"drie dubbele ="
Klopt niet echt, dan zou je dus drie keer twee = hebben, ======... Daar heb ik nog nooit van gehoord, of hoort dat bij PHP 6? (zes streepjes.. php zes...)
Maar goed, deze pagina legt het heel duidelijk uit. Het is om data te vergelijken (comparison operator) dus kom je uit op deze: http://nl3.php.net/operators.comparison
Klopt niet echt, dan zou je dus drie keer twee = hebben, ======... Daar heb ik nog nooit van gehoord, of hoort dat bij PHP 6? (zes streepjes.. php zes...)
Maar goed, deze pagina legt het heel duidelijk uit. Het is om data te vergelijken (comparison operator) dus kom je uit op deze: http://nl3.php.net/operators.comparison



