PHP: deux valeurs dans le cas de Switch?
Si "voiture" ou "ferrari" comme entrée, il doit imprimer "de la voiture ou de ferrari". Comment puis-je l'atteindre?
<?php
$car ='333';
switch($car)
{
case car OR ferrari:
print("car or ferrari");
break;
case cat:
print("cat");
break;
default:
print("default");
break;
}
?>
OriginalL'auteur hhh | 2009-09-05
Vous devez vous connecter pour publier un commentaire.
Utiliser deux
case
clauses:La explication:
Intéressant de noter que la
default:
cas, c'est comme tout les autres cas. Il n'a pas besoin d'être à la fin de l'interrupteur. Exemple: codepad.org/jNrQdM3UOriginalL'auteur Gumbo
Vous pouvez simplement "l'automne à travers" le cas, vous voudrez poignée aussi:
Désolé, j'ai peut-être trop tard, mais je ne trouve pas de critique à partir d'handsomeGun?
OriginalL'auteur Dan Soap
Cas "de l'automne à travers" jusqu'à la première
break
déclaration. Cela signifie également que vous n'avez pas besoin d'unbreak
dans ledefault
cas.OriginalL'auteur Tomalak
C'est de prendre avantage de la "chute" de la propriété de la
switch()
déclaration. Fondamentalement, une section ne s'arrête pas à uncase
, il s'arrête à unbreak
(ou à une autre opération qui quitte la fonction).J'ai pris la liberté de l'application de l'indentation, je préfère pour les interrupteurs, ce qui les rend utilisez uniquement un niveau de retrait, que je considère appropriée parce que, logiquement, la
switch
et sescases
sont tous les éléments de la même construction. Donc, en utilisant deux niveaux de retrait au sein de laswitch
ne transmet aucune information utile.OriginalL'auteur chaos
Je ne sais si PHP supporte cela, mais en C, vous pourriez faire quelque chose comme ceci:
L'idée est que le code pour la manipulation de la voiture continuera à fonctionner jusqu'à ce qu'il frappe une instruction break. Comme pour le style, il devrait être évitée.
OriginalL'auteur llamaoo7