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 :

Opérateurs logiques


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut Opérateurs logiques
    Bonjour,

    Existe t-il une différence entre and, &&, or et || sur la longueur du test dans la condition ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($var) and $var == 'test')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($var) && $var == 'test')
    Ces 2 conditions s'executent-elles de la même façon ?
    Y a t-il un test court et un test long ?
    (Car sans test court ce n'est sémantiquement pas correct)

    Merci.


    Edit ==

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    je ne crois pas qu'il y ait une quelconque différence notable entre utiliser AND et && ou OR et ||

  3. #3
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Points : 12 572
    Points
    12 572
    Par défaut
    note au passage pour faire la comparaison ile te manque un = ::
    devrait etre
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Citation Envoyé par koopajah Voir le message
    je ne crois pas qu'il y ait une quelconque différence notable entre utiliser AND et && ou OR et ||
    En effet, seule la précédence les différencie (|| ou && ont une priorité plus élevé que leur autre forme and ou or) sinon leur comportement est strictement identique (dit coupe-circuit : la condition suivante n'est évaluée que si nécessaire).

    (A ne pas confondre avec les opérateurs sur les bits : & et |)

  5. #5
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par julp Voir le message
    En effet, seule la précédence les différencie (|| ou && ont une priorité plus élevé que leur autre forme and ou or) sinon leur comportement est strictement identique (dit coupe-circuit : la condition suivante n'est évaluée que si nécessaire).

    (A ne pas confondre avec les opérateurs sur les bits : & et |)

    Oké merci c'était ce point qui m'intéressait.

  6. #6
    Membre habitué
    Inscrit en
    Avril 2003
    Messages
    397
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 397
    Points : 133
    Points
    133
    Par défaut
    Au fait, d'où tires-tu cette information ?

    Impossible de la trouver dans la documentation.

    Merci.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    La documentation ne le confirme que par un exemple mais c'est facile à vérifier par vous-mêmes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    function return_true() {
        echo __FUNCTION__ . ' ';
        return TRUE;
    }
     
    function return_false() {
        echo __FUNCTION__ . ' ';
        return FALSE;
    }
     
    echo 'return_false() || return_true() : ';
    $a = return_false() || return_true();
    echo '<hr />return_true() || return_false() : ';
    $b = return_true() || return_false();
    echo '<hr />return_true() && return_false() : ';
    $c = return_true() && return_false();
    echo '<hr />return_false() && return_true() : ';
    $d = return_false() && return_true();
    Convaincu ? (ça fonctionne aussi avec or et and)

Discussions similaires

  1. Réponses: 4
    Dernier message: 04/08/2006, 15h47
  2. [EL] El et opérateur logique
    Par LeXo dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/07/2006, 21h28
  3. Opérateurs logiques en C
    Par bandit boy dans le forum C++Builder
    Réponses: 6
    Dernier message: 19/07/2006, 13h16
  4. Opérateurs logiques: solution plus simple?
    Par p0Kep0K dans le forum Langage SQL
    Réponses: 4
    Dernier message: 27/04/2006, 15h48
  5. [VBA] Condition - opérateurs logiques
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 07/10/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