login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > PHP

vreemd gebruik van null (eerste zicht)

MiST – 20/10/2008 00:52
Ik kreeg laatst het idee om eens door de Zend Framework sourcecode te gaan. regelmatig duiken er lijnen op als

  1. if(null === $var)



Zelfde met de !== variant.

Dit lijkt me eigenlijk wel een vreemde check. Kan iemand deze toelichten? Ik snap er niets van... 

Thx,
Michiel

3 antwoorden

Gesponsorde links
Daisycon - Verdien geld met uw website

Scott – 20/10/2008 03:15 (Laatst gewijzigd op 20/10/2008 03:16)
=== wordt gebruikt om te kijken of een variabele van hetzelfde type is als waarmee vergeleken wordt. Voorbeeld:

  1. $var = '123';
  2.  
  3. if ($var === 123) {
  4.  
  5. echo '$var is een integer';
  6.  
  7. }
  8.  
  9. else {
  10.  
  11. echo '$var is geen integer';
  12.  
  13. }



Dan is de output '$var is geen integer', en dat klopt, want hij staat tussen ''.

Als je bedoelt waarom er staat null === $var ipv $var === null: dat wordt vaak gedaan om typfouten te voorkomen in het statement.

Stel, ik maak per ongeluk deze code:
  1. if ($var = null) {
  2.  
  3. echo 'foo bar';
  4.  
  5. }



Dan zal dit vrijwel altijd true zijn, omdat je $var eigenlijk altijd wel de waarde null mee kunt geven. Je kijkt er snel over heen en tijdens het debuggen kun je met zoiets simpels dus uren bezig zijn, terwijl null = $var een fout oplevert en je dus meteen weet waar je een fout hebt gemaakt.

Kr4nKz1n – 20/10/2008 08:46
Ik weet niet wat je controleert, maar vaak is de functie empty() erg handig.

MiST – 20/10/2008 11:05 (Laatst gewijzigd op 20/10/2008 11:06)
ja, het ging hem dus echt om de volgorde. Dat had ik misschien niet drekt duidelijk gemaakt... 

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.098s