php中的条件语句switch

韦小宝
Lepaskan: 2023-03-20 19:28:01
asal
1905 orang telah melayarinya

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;
}
Salin selepas log masuk

举例:

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

也可以使用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>";
}
?>
Salin selepas log masuk

简单示例

<?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;; 
?>
Salin selepas log masuk

运行结果

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

switch 语句和 elseif 语句的比较

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

类似文章推荐:

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


Atas ialah kandungan terperinci php中的条件语句switch. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!