switch 语句一行接一行地执行(实际上是语句接语句)。开始时没有代码被执行。仅当一个 case 语句中的值和 switch 表达式的值匹配时 php 才开始执行语句,直到 switch 的程序段结束或者遇到第一个 break 语句为止。如果不在 case 的语句段最后写上 break 的话,php 将继续执行下一个 case 中的语句段。
eg;
#include <stdio.h>
#include<string.h>
int main()
{
char num[32];
int i;
scanf("%s", num);
for (i = 0; i < strlen(num); i++)
{
switch (num[i])
{
case '-':printf("fu"); break;
case '0':printf("ling"); break;
case '1':printf("yi"); break;
case '2':printf("er"); break;
case '3':printf("san"); break;
case '4':printf("si"); break;
case '5':printf("wu"); break;
case '6':printf("liu"); break;
case '7':printf("qi"); break;
case '8':printf("ba"); break;
case '9':printf("jiu"); break;
default:break;
}
if (i < strlen(num)-1)printf(" ");
}
return 0;
}
//如果default语句在所有case最后,此时可以不加break 如果default语句之后还有case语句,如果不加break,则default语句执行过之后会继续下面的case语句,此时必须要在default之后加break语句,不过这种default用法是不推荐的,default顾名思义是缺省情况,只有任何条件都不匹配的情况下才会执行,所以应该将default语句放在所有case结束之后。