Si vous devez utiliser ||
avec, switch
vous pouvez essayer:
$v = 1;
switch (true) {
case ($v == 1 || $v == 2):
echo 'the value is either 1 or 2';
break;
}
Sinon, votre solution préférée aurait été
switch($v) {
case 1:
case 2:
echo "the value is either 1 or 2";
break;
}
Le problème est que les deux méthode n'est pas efficace lorsqu'il s'agit de grands cas ... imaginez 1
à 100
cela fonctionnerait parfaitement
$r1 = range(1, 100);
$r2 = range(100, 200);
$v = 76;
switch (true) {
case in_array($v, $r1) :
echo 'the value is in range 1 to 100';
break;
case in_array($v, $r2) :
echo 'the value is in range 100 to 200';
break;
}
switch()
, et quand je travaille dans un langage C-ish ça me manque vraiment d'avoirSelect Case
, ce qui est vraiment une façon abrégée de dire "il y a un grand bloc de if, else if, else-if ... ici ".you can't use switch for more "complicated" statements
est-cecan't
ou est-ceshouldn't
? parce que dans votre exemple, vouscan
switch (true)
chose n'est pas un cas d'utilisation ordinaire du commutateur.Essayez avec les exemples suivants dans cet article: http://phpswitch.com/
Cas de commutation possibles:
(je). Une simple déclaration de changement
L'instruction switch est merveilleuse et magique. C'est un morceau du langage qui vous permet de choisir entre différentes options pour une valeur et d'exécuter différents morceaux de code en fonction de la valeur définie.
Chaque option possible est donnée par un cas dans l'instruction switch.
Exemple :
(ii). Délimitation des blocs de code
La mise en garde majeure du commutateur est que chaque cas se poursuivra dans le suivant, sauf si vous l'arrêtez avec une pause. Si le cas simple ci-dessus est étendu au cas 5:
Exemple :
(iii). Utilisation de Fallthrough pour plusieurs cas
Étant donné que le commutateur continuera d'exécuter du code jusqu'à ce qu'il trouve une interruption, il est assez facile de prendre le concept de fallthrough et d'exécuter le même code pour plus d'un cas:
Exemple :
cas 2:
(iv). Commutation avancée: cas de condition
Le commutateur de PHP ne vous permet pas seulement d'activer la valeur d'une variable particulière: vous pouvez utiliser n'importe quelle expression comme l'un des cas, tant qu'il donne une valeur pour le cas à utiliser. À titre d'exemple, voici un validateur simple écrit en utilisant switch:
Exemple :
je pense que cela peut vous aider à résoudre votre problème.
la source
Essayer
la source
Je vous suggère de parcourir http://php.net/manual/en/control-structures.switch.php (manuel)
explication
Comme pour la valeur que vous voulez exécuter, vous pouvez le mettre sans interruption comme jusqu'à ce que ou à moins que break ne soit trouvé, il continuera à exécuter le code et si break est trouvé, il sortira du boîtier de commutation.
la source
utilisez ce code:
le bloc appelait à la fois 1 et 2.
la source
la source
http://php.net/manual/en/control-structures.switch.php Exemple
la source
La meilleure façon pourrait être sinon de demander. En outre, cela peut être plus facile et clair à utiliser.
Exemple:
Au lieu d'utiliser les fonctions qui ne fonctionnent pas bien avec PHP, surtout lorsque vous avez PHP en HTML.
la source