login  Naam:   Wachtwoord: 
Registreer je!
 Forum

empty of !=

Offline keverineke - 23/06/2011 14:14
Avatar van keverinekeLid Zou ik voor dit gaan :
  1. if (empty($varname)) {
  2. echo '';
  3. }


Of met != :
  1. if ($varname != '') {
  2. echo '';
  3. }


Wat is het verschil?

9 antwoorden

Gesponsorde links
Offline WouterJ - 23/06/2011 14:27
Avatar van WouterJ HTML gevorderde Er zit wat verschil in. Empty kijkt of een var: Leeg is of de waarde NULL, 0, '0', false, array(), 0.0 is. Dus niet alleen als het '' is.

Met != '' kijk je alleen of de string leeg is. Wat een betere vraag zal zijn is $var != '' of !isset($var) dan zou ik kiezen voor de laatste, aangezien die functie niet voor niks is gemaakt.
Offline keverineke - 23/06/2011 14:43
Avatar van keverineke Lid dus om te controleren of er het veld "name" bv. leeg is is het dan beter ($var == ''), isset of empty?

Want == wil zeggen:
als $var gelijk is aan niets (leeg dus) dan, echo...

isset kijkt als $var gelijk is aan NULL

En empty kijk of $var als leeg wordt beschouwd

wlke extensie gebruik ik dan best?
Offline Stijn - 23/06/2011 15:20
Avatar van Stijn PHP expert Controleer of het veld doorgestuurd is en dan controleer je of het empty is of niet. Dat empty gedoe kan je met die != '' controleren.
Offline keverineke - 23/06/2011 15:24
Avatar van keverineke Lid De POST controle gebeurt al, dus ik gebruik beter != '' ...
Offline avdg - 23/06/2011 19:43
Avatar van avdg PHP gevorderde Test eens de code uit met volgende expressies (ik denk dat de resultaten bijna voor zich spreken)

  1. $test1 = '';
  2. $test2 = null;
  3. $test3 = true;
  4. $test4 = false;
  5. $test5 = 0;
  6. $test6 = 1;
  7. $test7 = -1;
  8. $test8 = '0';
  9. $test9 = 'test';
  10. $test10 = array();
  11. $test11 = array('hello' => 'world');
  12. $test12 = array(array());


Zie ook http://php.net/manual/en/function.empty.php
Offline keverineke - 24/06/2011 13:43
Avatar van keverineke Lid Deze ken ik al, maar wat gebruik ik best?
!= is mischien een tikkeltje sneller dan empty...
Offline WouterJ - 24/06/2011 17:42
Avatar van WouterJ HTML gevorderde Je kan beter voor empty gaan. Kijk maar eens naar deze resultaten bij 3000 keer uitvoeren van een if constructie.

Bij een lege var:
EMPTY: 8.8874499003092E-7
!= '': 9.005864461263E-7

Bij $var = 'lorem':
EMPTY: 8.1451733907064E-7
!= '': 9.2554092407227E-7
Offline keverineke - 24/06/2011 22:21
Avatar van keverineke Lid Is dat echt zo?
want iemand zei me dat empty zwaarder was dan != ofzo...
Offline avdg - 24/06/2011 22:45
Avatar van avdg PHP gevorderde Waldio: in seconden?

Lijkt sterk als een voorbeeld van micro optimalisatie, je bent bijna altijd beter af door de meest dekkende oplossing te kiezen en niet perse de snelste 

Als je dan toch bezig ben, dan is het lezen van c code misschien iets beters (dan vind je waarschijnlijk de redenen). Zelf heb ik een vermoeden dat die extra tokens de boosdoener is (variable operator variable vs function variable), maar dit zijn dingen die je beter gewoon negeert.
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.22s