50 votes

Instruction PHP If avec plusieurs conditions

J'ai une variable $var .

Je veux un écho "true" si $var est égal à l'une des valeurs suivantes abc , def , hij , klm , ou nop . Existe-t-il un moyen de le faire avec une seule instruction comme && ??

137voto

Pekka 웃 Points 249607

Une manière élégante consiste à créer un tableau à la volée et à utiliser in_array() :

 if (in_array($var, array("abc", "def", "ghi")))

L' instruction switch est également une alternative :

 switch ($var) {
case "abc":
case "def":
case "hij":
    echo "yes";
    break;
default:
    echo "no";
}

63voto

Tokk Points 2705
if($var == "abc" || $var == "def" || ...)
{
    echo "true";
}

Utiliser "Ou" au lieu de "Et" aiderait ici, je pense

16voto

Framework Points 32799

vous pouvez utiliser la fonction in_array de php

 $array=array('abc', 'def', 'hij', 'klm', 'nop');

if (in_array($val,$array))
{
  echo 'Value found';
}

13voto

KingCrunch Points 45168

Je ne sais pas pourquoi vous voulez utiliser && . Il y a une solution plus simple

 echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop'))
      ? 'yes' 
      : 'no';

7voto

esel Points 435

vous pouvez utiliser l'opérateur booléen ou : ||

 if($var == 'abc' || $var == 'def' || $var == 'hij' || $var == 'klm' || $var == 'nop'){
    echo "true";
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X