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.