网站推广.NET

网站推广.NET

php中的条件语句switch

来源:互联网

switch 语句和 if 语句相似,都是条件语句。很多情况下,需要将一个变量(或者表达式) 与不同的值进行比较,并根据它等于哪个值来执行不同的代码,这个时候,我们用 switch 语句更合适。

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

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;}

举例:

立即学习“PHP免费学习笔记(深入)”;

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

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

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

运行结果

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

switch 语句和 elseif 语句的比较

在 switch 语句中,条件只求一次,然后和每个 case 比较,而在 elseif 语句中,条件会再次求值。如果你的条件比较复杂,或者是多次循环,用 switch 语句速度会更加快些。

类似文章推荐:

php中if else与else if使用区别实例介绍

php switch