Théorie : Simplifier l'écriture d'une condition

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 12:53

Bonjour

Je viens d'écrire une condition :
Code: Tout sélectionner
if ($formule=1 OR $formule=2 OR $formule=3){;}


C'est un peu fastidieux.

Ne peut-on simplifier cela, par exemple, je dis ça au pif :
Code: Tout sélectionner
if ($formule=1|2|3){;}


:?:


webmasterlamogere
WRInaute passionné
WRInaute passionné
 
Messages: 1874
Inscription: 17 Déc 2006

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 12:57

tu peux écrire :
Code: Tout sélectionner
if (in_array($formule, array(1,2,3)){;}


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 13:09

Ça fait un petit peu moins de caractères à taper mais c'est pas la panacée non plus.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8580
Inscription: 23 Nov 2005

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 13:27

Meeuuuhhh a écrit:Bonjour

Je viens d'écrire une condition :
Code: Tout sélectionner
if ($formule=1 OR $formule=2 OR $formule=3){;}


C'est un peu fastidieux.

Ne peut-on simplifier cela, par exemple, je dis ça au pif :
Code: Tout sélectionner
if ($formule=1|2|3){;}


:?:


Déjà tu devrais utiliser ==, qui sert a vérifier l'égalité, = est un opérateur d'affectation.

Sinon je ne vois ni comment ni pourquoi simplifier ça. Perso je n'utilises jamais or mais || (mais ca ne change rien au problème).


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 15:49

Ouais j'ai corrigé le truc depuis, j'ai écrit == (t'as l'air de dire ça comme si c'état facultatif :mrgreen: )


"||" ça fait plus pro que "OR", mais finalement ça change quoi ?


psykoko
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 297
Inscription: 3 Juin 2005

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 16:54

Par expérience : le in_array est joli, plutôt bandant et tout et tout (il est plus maintenable, également...)
Mais honnêtement, ça ne changera rien !
Il faut, à mon sens, plus penser 'maintenance' que super méthode pour gagner 4 caractères !
Écrivons du code clair, simple, bien indenter, les perf ne changerons pas, mais au moins ça sera clair !

Quant au OR ou au ||, je préfère le pipe :)


Marie-Aude
Modérateur
Modérateur
 
Messages: 11900
Inscription: 5 Juin 2006

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 17:35

Sinon, il vaut mieux écrire $formule == 1 non ? ;)


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8580
Inscription: 23 Nov 2005

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 17:39

Meeuuuhhh a écrit:"||" ça fait plus pro que "OR", mais finalement ça change quoi ?


J'arrive plus facilement à lire le code quand il utilise les opérateurs.

Par ailleurs, histoire de ne pas mourir bête, je viens de trouver ça sur un site :

La différence entre AND et && (respectivement OR et ||) réside dans la priorité d'exécution. Les opérateurs && et || ont une priorité plus élevée par rapport à leur semblable litéral respectif.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 8580
Inscription: 23 Nov 2005

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 17:40

Marie-Aude a écrit:Sinon, il vaut mieux écrire $formule == 1 non ? ;)


Hé hop, je t'ai encore grillée sur le fil :-)


Marie-Aude
Modérateur
Modérateur
 
Messages: 11900
Inscription: 5 Juin 2006

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 20:46

UsagiYojimbo a écrit:Hé hop, je t'ai encore grillée sur le fil :-)


Ah oui :) bon je ne dis plus rien...


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 20:47

La différence entre AND et && (respectivement OR et ||) réside dans la priorité d'exécution. Les opérateurs && et || ont une priorité plus élevée par rapport à leur semblable litéral respectif.
[/quote]


Un exemple pratique :?:

Parce que là je ne vois pas dans quel cas ce peut être utile.


Bellegarde-webb
WRInaute passionné
WRInaute passionné
 
Messages: 1293
Inscription: 12 Juil 2006

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 21:09

Marie-Aude a écrit:Sinon, il vaut mieux écrire $formule == 1 non ? ;)


Exact Marie Aude mais pourquoi pas formule tout court ? :o


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 21:38

Meeuuuhhh a écrit:Un exemple pratique :?:
Parce que là je ne vois pas dans quel cas ce peut être utile.


ça veux dire que :

A OR B && C est équivalent à A || (B && C) et que ce n'est pas forcement équivalent a A || B && C
Je n'ai pas vérifié la table des résultats de cet exemple, mais je présuppose que dans certaines associations plus complexes ça change le résultat.


zeb
WRInaute accro
WRInaute accro
 
Messages: 4569
Inscription: 5 Déc 2004

Re: Théorie : Simplifier l'écriture d'une condition

Message le Mer Jan 28, 2009 21:59

en fait l'exemple que je donne était mal choisi il est plus facile de mettre en évidence la différence dans l'ordre de traitement en faisant varier le tout.

Code: Tout sélectionner
0 || 0 && 0 ->
0 || 0 && 1 ->
0 || 1 && 0 ->
0 || 1 && 1 -> 1
1 || 0 && 0 -> 1
1 || 0 && 1 -> 1
1 || 1 && 0 -> 1
1 || 1 && 1 -> 1

0 AND 0 OR 0 ->
0 AND 0 OR 1 -> 1
0 AND 1 OR 0 ->
0 AND 1 OR 1 -> 1
1 AND 0 OR 0 ->
1 AND 0 OR 1 -> 1
1 AND 1 OR 0 -> 1
1 AND 1 OR 1 -> 1

0 OR 0 && 0 ->
0 OR 0 && 1 ->
0 OR 1 && 0 ->
0 OR 1 && 1 -> 1
1 OR 0 && 0 -> 1
1 OR 0 && 1 -> 1
1 OR 1 && 0 -> 1
1 OR 1 && 1 -> 1

0 || 0 AND 0 ->
0 || 0 AND 1 ->
0 || 1 AND 0 ->
0 || 1 AND 1 -> 1
1 || 0 AND 0 ->
1 || 0 AND 1 -> 1
1 || 1 AND 0 ->
1 || 1 AND 1 -> 1


Meeuuuhhh
WRInaute passionné
WRInaute passionné
 
Messages: 2046
Inscription: 8 Jan 2007

Re: Théorie : Simplifier l'écriture d'une condition

Message le Jeu Jan 29, 2009 10:29

Ah ouais ok, merci pour l'exemple Agir XIX

Ceci dit, une bonne paire de parenthèse marque aussi la priorité il me semble.

Théorie : Simplifier l'écriture d'une condition

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités