IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

!fonction() ou fonction()= = = FALSE ?


Sujet :

Langage PHP

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 90
    Points : 57
    Points
    57
    Par défaut !fonction() ou fonction()= = = FALSE ?
    Bonjour,

    Voici deux formulations pour un if, toutes deux produisant le même résultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!filter_var($url, FILTER_VALIDATE_URL) {...}
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(filter_var($url, FILTER_VALIDATE_URL) === FALSE) {...}
    Faut-il en préférer une plutôt que l'autre ? pourquoi ?

    Merci de vos conseils

    Mathieu

  2. #2
    Membre confirmé Avatar de goodpz
    Profil pro
    Inscrit en
    Février 2007
    Messages
    475
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 475
    Points : 514
    Points
    514
    Par défaut
    Les deux formulations ne sont pas identiques.

    est équivalent à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(func() == false) {...} //1)
    qui est différent de:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(func() === false) {...} //2)
    L'opérateur == ne teste que la valeur alors que === teste la valeur ET le type.

    1) est vrai si func() retourne false, 0, null ou ""
    2) est vrai seulement si func() retourne false

    Dans le cas de la fonction strpos() par exemple, qui retourne un index numérique ou false, on sera amené la plupart du temps à utiliser l'opérateur === plutôt que ==. On veut pouvoir différencier 0 de false

  3. #3
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 90
    Points : 57
    Points
    57
    Par défaut
    merci pour cette réponse rapide et claire

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. passer en paramettre d'une fonction une fonction
    Par RoM3Ro dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 23/06/2006, 16h54
  2. fonction asp : fonction imprimer
    Par leclone dans le forum ASP
    Réponses: 6
    Dernier message: 23/05/2006, 14h31
  3. DLL, fonctions appelées, fonctions appelantes
    Par kantelise dans le forum Windows
    Réponses: 1
    Dernier message: 10/05/2006, 14h26
  4. [Oracle / Fonction hachage] Fonction de hachage SHA / MD5
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 8
    Dernier message: 26/01/2006, 09h58
  5. [Fonctions] Une fonction ou deux ?
    Par Évariste Galois dans le forum C++
    Réponses: 10
    Dernier message: 24/08/2005, 10h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo