Tester plusieurs conditions pour une variable

Eléphant du PHP | 70 Messages

07 avr. 2010, 12:29

Bonjour à tous,

Je cherche à vérifier si une variable est égale à plusieurs conditions.
Je connais cette façon de faire :
if($i==3 || $i==7 || $i==32 || $i==41){
//execute ce code
}
Mais je souhaite savoir si il existe une façon plus rapide ou plus courte pour tester ma variable car j'ai une vingtaine de conditions et je trouve que que le "if" est très long.
Si vous connaissez un moyen, je suis preneur

D'avance merci

Mammouth du PHP | 672 Messages

07 avr. 2010, 12:46

Bonjour.

Ca dépend...
1. Il y a une suite de IF...THEN, ou c'est juste un test unique ?
2. Les valeurs testées correspondent à quelque chose ? Elles risquent d'être modifiées (à quelle fréquence) ?

Là comme ça, je dirais :
// Création d'un tableau contenant les valeurs à tester
$Atests = Array (3, 7, 32, 41);
// ....
// Le test en lui-même
if (in_array( $i, $Atests) ) {
//execute ce code
}

Eléphant du PHP | 70 Messages

07 avr. 2010, 16:42

Bonjour Macgawel,

Merci beaucoup pour cette réponse ça résout mon problème :D