Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2007, 14h02   #1
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
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 :
if (isset($var) and $var == 'test')
Code :
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 ==
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 14h07   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
je ne crois pas qu'il y ait une quelconque différence notable entre utiliser AND et && ou OR et ||
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 15h20   #3
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

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

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
note au passage pour faire la comparaison ile te manque un = ::
devrait etre
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 15h38   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 |)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2007, 19h05   #5
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
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.
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 21h00   #6
Membre régulier
 
Inscription : avril 2003
Messages : 335
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 335
Points : 82
Points : 82
Au fait, d'où tires-tu cette information ?

Impossible de la trouver dans la documentation.

Merci.
dorian53 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 22h19   #7
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
La documentation ne le confirme que par un exemple mais c'est facile à vérifier par vous-mêmes :
Code :
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)
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h24.


 
 
 
 
Partenaires

Hébergement Web