Condition OU dans un if...

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Condition OU dans un if...

Message le Mar Avr 04, 2006 16:28

Hello,

Je ne sais pas si en php il existe une alternative à ceci:
Code: Tout sélectionner
if($var == 'condition1' || $var == 'condition3' || $var == 'condition3' || ...)


En effet lorsqu'il y a beaucoup de conditions, cela devient un peu lourd...
Je pensais à quelque chose comme:
Code: Tout sélectionner
if($var == 'condition1' | 'condition3' | 'condition3' |...)


Est-ce que qu'elle chose de similaire existe ?

Merci.

birkoss
WRInaute discret
WRInaute discret
 
Messages: 134
Inscription: 1 Aoû 2005

Message le Mar Avr 04, 2006 16:43

un switch :

switch( $var )
{
case 'condition1':
case 'condition2':
case 'condition3':
case 'condition4':
case 'condition5':

....;

break;

default:
truc 'sinon' ici...;

}

?

Grantome
WRInaute accro
WRInaute accro
 
Messages: 2899
Inscription: 16 Jan 2004

Message le Mar Avr 04, 2006 16:45

Attention, c'est lourd avec un if, mais généralement le switch est plus lent. ;-)

Faut tester les 2

zimounet
WRInaute passionné
WRInaute passionné
 
Messages: 1796
Inscription: 8 Nov 2004

Message le Mar Avr 04, 2006 16:47


Tymir
WRInaute discret
WRInaute discret
 
Messages: 239
Inscription: 26 Juil 2005

Message le Mar Avr 04, 2006 16:48

C'est pas possible en regex ?

Comme ça par exemple :

if(eregi('(condition1|condition2|condition3)', $var)){
...
}

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Avr 04, 2006 16:50

Grantome a écrit:Attention, c'est lourd avec un if, mais généralement le switch est plus lent. ;-)

Faut tester les 2

Merci pour l'info...
Je ne le savais pas.

(mais le switch n'est pas une alternative possible dans mon cas, et je le trouve plus lourd aussi...)

zimounet a écrit:http://phpdebutant.org/article57.php

Je n'ai rien vue par rapport à ma demande... :?
Dernière édition par thierry8 le Mar Avr 04, 2006 16:56, édité 1 fois.

petit-ourson
WRInaute impliqué
WRInaute impliqué
 
Messages: 855
Inscription: 31 Mai 2004

Message le Mar Avr 04, 2006 16:52

Avec un tableau et la fonction in_array.


mr_go
WRInaute passionné
WRInaute passionné
 
Messages: 1945
Inscription: 21 Sep 2005

Message le Mar Avr 04, 2006 16:54

peut être créer une fonction et indenter ton code... :)

Code: Tout sélectionner
function compare($var)
{
return(
    $var == 'condition1'
|| $var == 'condition3'
|| $var == 'condition3'
|| ...

)

}


if (compare($var))
{
...
}
else
{...
}

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Mar Avr 04, 2006 16:58

ok ok...

mais... :lol: :oops:

Je ne demande pas une solution "alternative" au if, mais s'il est possible d'exploiter le if d'une autre manière...

magic corp.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Mar Avr 04, 2006 17:21

thierry8 a écrit:ok ok...

mais... :lol: :oops:

Je ne demande pas une solution "alternative" au if, mais s'il est possible d'exploiter le if d'une autre manière...

Je crains qu'il n'y aye qu'une seul manière ...


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

Lectures recommandées sur ce thème :



Qui est en ligne

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