Evaluates a passed expression and passes control to the cfcase tag that matches the expression result. You can, optionally, code a cfdefaultcase tag, which receives control if there is no matching cfcase tag value. Note the difference in the tag and script syntax when providing multiple values for a case.
<cfswitch expression="">
switch (expression) { }
fruit = "Orange";
switch(fruit) {
case "Apple":
writeOutput("I like apples!");
break;
case "Orange": case "Citrus":
writeOutput("I like oranges!");
break;
case "Kiwi":
writeOutput("I like kiwi!");
break;
default:
writeOutput("Fruit, what fruit?");
break;
}
Expected Result: I like oranges!
<cfset fruit = "">
<cfswitch expression="#fruit#">
<cfcase value="Apple">I like apples!</cfcase>
<cfcase value="Orange,Citrus">I like oranges!</cfcase>
<cfcase value="Kiwi">I like kiwi!</cfcase>
<cfdefaultcase>Fruit, what fruit?</cfdefaultcase>
</cfswitch>
Expected Result: Fruit, what fruit?
CF 2021+ switch cases are support dynamic value
num = 10;
switch(0) {
case num % 2:
writeOutput("Even number");
break;
default:
writeOutput("Odd number");
break;
}
Expected Result: Even number
Signup for cfbreak
to stay updated on the latest news from the ColdFusion / CFML community. One email, every friday.