Versio

drie dubbele =

Overzicht Reageren

Nils Kuijpers

Nils Kuijpers

14/11/2008 10:02:00
Quote Anchor link
Wat is het verschil tussen == en ===?
 
PHP hulp

PHP hulp

24/05/2012 10:42:09
Gesponsorde koppelingen:
BHosted Hosting al vanaf € 1,- per maand

Controleer nu gratis jouw domeinnaam:

  
 
Marco

Marco

14/11/2008 10:12:00
Quote Anchor link
'==' controleerd of 2 variabelen hetzelfde zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$var1 = 1;
$var2 = 1;

if($var1 == $var2) {
  return true;
}
// returned true

Maar omdat PHP de gebruiker het datatype niet laat bepalen, is dat vrij globaal, dit werkt bijvoorbeeld ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$var1 = 1;
$var2 = true;

if($var1 == $var2) {
  return true;
}
// returned ook true!

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)
PHP script in nieuw venster Selecteer het PHP script
1
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
}
Gewijzigd op 01/01/1970 01:00:00 door Marco
 
Karl Karl

Karl Karl

14/11/2008 10:17:00
 
Jasper Sni

Jasper Sni

14/11/2008 11:55:00
Quote Anchor link
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.
 
PHP Newbie

PHP Newbie

14/11/2008 14:00:00
Quote Anchor link
$i = 1
$j = "1"

$i == $j maar $i !=== $j
 

14/11/2008 14:56:00
Quote Anchor link
"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
 



Overzicht Reageren