php中switch语句用法详解

原创 2017-01-20 10:09:06 964
摘要:本文介绍php中的switch语句的用法,它跟其他语句中的switch用法差不多的,但注意有有一个break语句。PHP中switch语句的标准语法:switch (expression) { case label1:  code to be executed if expression = lab

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

PHP中switch语句的标准语法:

switch (expression)
{
case label1:
 code to be executed if expression = label1;
 break;
case label2:
 code to be executed if expression = label2;
 break;
default:
 code to be executed
 if expression is different from both label1 and label2;
}

举例:

switch($i){
  case 1:
    echo 1;
    break;
  case 2:
    echo 2;
    break;
  default:
    echo 'others';
}

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

<?php
header("content-type:text/html;charset=utf8");
$score=50;
switch($score)
{
 case $score>=90 && $score<=100:
  echo "优<br>";
  break;
 case $score>=80 && $score<90:
  echo "良<br>";
  break;
 case $score>=70 && $score<80:
  echo "中<br>";
  break;
 case $score>=60 && $score<70:
  echo "及格<br>";
  break;
 case $score>=0 && $score<60:
  echo "不及格<br>";
  break;
 default:
  echo"成绩输入错误<br>";
}
?>

简单示例

<?php
 //switch细节
 //情况一:数值匹配的时候自动转换成字串
 $a=1;
 switch($a){
  case "1":
    echo 'hello1';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况二:数值匹配的时候自动转换成字符
 $a=1;
 switch($a){
  case '1':
    echo 'hello2';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况三:字符匹配的时候自动转换成数值
 $a='1';
 switch($a){
  case 1:
    echo 'hello3';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况四:字串匹配的时候自动转换成数值
 $a="1";
 switch($a){
  case 1:
    echo 'hello4';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况五:float也可以匹配
 $a=1.1;
 switch($a){
  case 1.1:
    echo 'hello5';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况六:非0是true
 $a=true;
 switch($a){
  case 1:
    echo 'hello6';
    break;
  case true:
    echo 'hello61';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况七:能匹配boolean
 $a=true;
 switch($a){
  case true:
    echo 'hello7';
    break;
  case 2:
    echo 'hello71';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况八:能匹配null
 $a=null;
 switch($a){
  case 2://'' "" false 0 都能进入
    echo 'hello8';
    break;
  case null:
    echo 'hello81';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况九:退出顺序
 $a=5;
 switch($a){
  case 1:
    echo 'hello6';
    break;
  case 2:
    echo '我是2号出口';
    break;
  case 5:
    echo '我是5号出口';
    //break;
  case true:
    echo 'hello61';
    break;
  default:
    echo 'sorry none is the same!';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
  //情况十:退出顺序
 $a=50;
 switch($a){
  default:
    echo 'sorry none is the same!';
    //break;
  case 50:
    echo 'hello6';
    //break;
  case 2:
    echo '我是2号出口';
    break;
  case 5:
    echo '我是5号出口';
    //break;
  case 6:
    echo 'hello61';
    break;
 }
 echo '<br/>'.'成功退出····';
 echo '<hr/>';
?>

运行结果

hello1
成功退出····
hello2
成功退出····
hello3
成功退出····
hello4
成功退出····
hello5
成功退出····
hello6
成功退出····
hello7
成功退出····
hello81
成功退出····
我是5号出口hello61
成功退出····
hello6我是2号出口
成功退出····

更多关于php中switch语句用法详解请关注PHP中文网(www.php.cn)其他文章!    


发布手记

热门词条