首页 > 开发 > PHP > 正文

php中switch语句用法详解

2024-05-04 23:38:47
字体:
来源:转载
供稿:网友

Switch语句也是面向对象编程语句中最长常见的逻辑控制语句了。Switch 语句用于执行基于多个不同条件的不同动作 – 即当条件不同的时候,执行不同的逻辑操作。

本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句。

PHP中switch语句的标准语法:

 

 
  1. switch (expression) 
  2. case label1: 
  3. code to be executed if expression = label1; 
  4. break;  
  5. case label2: 
  6. code to be executed if expression = label2; 
  7. break
  8. default
  9. code to be executed 
  10. if expression is different from both label1 and label2; 

举例:

 

 
  1. switch($i){ 
  2. case 1: 
  3. echo 1; 
  4. break
  5. case 2: 
  6. echo 2; 
  7. break
  8. default
  9. echo 'others'

也可以使用switch来判断一个取值范围,或者说是在case中自定义条件。

 

 
  1. <?php 
  2. header("content-type:text/html;charset=utf8"); 
  3. $score=50; 
  4. switch($score)  
  5. case $score>=90 && $score<=100: 
  6. echo "优<br>"
  7. break
  8. case $score>=80 && $score<90: 
  9. echo "良<br>"
  10. break
  11. case $score>=70 && $score<80: 
  12. echo "中<br>"
  13. break
  14. case $score>=60 && $score<70: 
  15. echo "及格<br>"
  16. break
  17. case $score>=0 && $score<60: 
  18. echo "不及格<br>"
  19. break
  20. default
  21. echo"成绩输入错误<br>"
  22. ?> 

简单示例

 

 
  1. <?php  
  2. //switch细节  
  3. //情况一:数值匹配的时候自动转换成字串  
  4. $a=1;  
  5. switch($a){  
  6. case "1":  
  7. echo 'hello1';  
  8. break;  
  9. default:  
  10. echo 'sorry none is the same!';  
  11. break;  
  12. }  
  13. echo '<br/>'.'成功退出····';  
  14. echo '<hr/>';  
  15. //情况二:数值匹配的时候自动转换成字符  
  16. $a=1;  
  17. switch($a){  
  18. case '1':  
  19. echo 'hello2';  
  20. break;  
  21. default:  
  22. echo 'sorry none is the same!';  
  23. break;  
  24. }  
  25. echo '<br/>'.'成功退出····';  
  26. echo '<hr/>';  
  27. //情况三:字符匹配的时候自动转换成数值  
  28. $a='1';  
  29. switch($a){  
  30. case 1:  
  31. echo 'hello3';  
  32. break;  
  33. default:  
  34. echo 'sorry none is the same!';  
  35. break;  
  36. }  
  37. echo '<br/>'.'成功退出····';  
  38. echo '<hr/>';  
  39. //情况四:字串匹配的时候自动转换成数值  
  40. $a="1";  
  41. switch($a){  
  42. case 1:  
  43. echo 'hello4';  
  44. break;  
  45. default:  
  46. echo 'sorry none is the same!';  
  47. break;  
  48. }  
  49. echo '<br/>'.'成功退出····';  
  50. echo '<hr/>';  
  51. //情况五:float也可以匹配  
  52. $a=1.1;  
  53. switch($a){  
  54. case 1.1:  
  55. echo 'hello5';  
  56. break;  
  57. default:  
  58. echo 'sorry none is the same!';  
  59. break;  
  60. }  
  61. echo '<br/>'.'成功退出····';  
  62. echo '<hr/>';  
  63. //情况六:非0是true  
  64. $a=true;  
  65. switch($a){  
  66. case 1:  
  67. echo 'hello6';  
  68. break;  
  69. case true:  
  70. echo 'hello61';  
  71. break;  
  72. default:  
  73. echo 'sorry none is the same!';  
  74. break;  
  75. }  
  76. echo '<br/>'.'成功退出····';  
  77. echo '<hr/>';  
  78. //情况七:能匹配boolean  
  79. $a=true;  
  80. switch($a){  
  81. case true:  
  82. echo 'hello7';  
  83. break;  
  84. case 2:  
  85. echo 'hello71';  
  86. break;  
  87. default:  
  88. echo 'sorry none is the same!';  
  89. break;  
  90. }  
  91. echo '<br/>'.'成功退出····';  
  92. echo '<hr/>';  
  93. //情况八:能匹配null  
  94. $a=null;  
  95. switch($a){  
  96. case 2://'' "" false 0 都能进入  
  97. echo 'hello8';  
  98. break;  
  99. case null:  
  100. echo 'hello81';  
  101. break;  
  102. default:  
  103. echo 'sorry none is the same!';  
  104. break;  
  105. }  
  106. echo '<br/>'.'成功退出····';  
  107. echo '<hr/>';  
  108. //情况九:退出顺序  
  109. $a=5;  
  110. switch($a){  
  111. case 1:  
  112. echo 'hello6';  
  113. break;  
  114. case 2:  
  115. echo '我是2号出口';  
  116. break;  
  117. case 5:  
  118. echo '我是5号出口';  
  119. //break;  
  120. case true:  
  121. echo 'hello61';  
  122. break;  
  123. default:  
  124. echo 'sorry none is the same!';  
  125. break;  
  126. }  
  127. echo '<br/>'.'成功退出····';  
  128. echo '<hr/>';  
  129. //情况十:退出顺序  
  130. $a=50;  
  131. switch($a){  
  132. default:  
  133. echo 'sorry none is the same!';  
  134. //break;  
  135. case 50:  
  136. echo 'hello6';  
  137. //break;  
  138. case 2:  
  139. echo '我是2号出口';  
  140. break;  
  141. case 5:  
  142. echo '我是5号出口';  
  143. //break;  
  144. case 6:  
  145. echo 'hello61';  
  146. break;  
  147. }  
  148. echo '<br/>'.'成功退出····';  
  149. echo '<hr/>';  
  150. ?>  

运行结果

 

 
  1. hello1 
  2. 成功退出···· 
  3. hello2 
  4. 成功退出···· 
  5. hello3 
  6. 成功退出···· 
  7. hello4 
  8. 成功退出···· 
  9. hello5 
  10. 成功退出···· 
  11. hello6 
  12. 成功退出···· 
  13. hello7 
  14. 成功退出···· 
  15. hello81 
  16. 成功退出···· 
  17. 我是5号出口hello61 
  18. 成功退出···· 
  19. hello6我是2号出口 
  20. 成功退出···· 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表