1. 程式人生 > >php中switch語句用法詳解

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

舉例:

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號出口
成功退出····

相關推薦

phpswitch語句用法

Switch語句也是面向物件程式設計語句中最長常見的邏輯控制語句了。Switch 語句用於執行基於多個不同條件的不同動作 – 即當條件不同的時候,執行不同的邏輯操作。 本文介紹php中的switch語句的用法,它跟其他語句中的switch用法差不多的,但注意有

php 的closure用法

php 中的closure用法詳解 Closure,匿名函式,是php5.3的時候引入的,又稱為Anonymous functions。字面意思也就是沒有定義名字的函式。比如以

JavaScriptreturn的用法

style 返回 www log tle blog 意思 charset fun 1、定義:return 從字面上的看就是返回,官方定義return語句將終止當前函數並返回當前函數的值,可以看下下面的示例代碼: <!DOCTYPE html><html l

java的instanceof用法

定義 xtend print 繼承 interface 參數 保留 如果 ack   instanceof是Java的一個二元操作符(運算符),也是Java的保留關鍵字。它的作用是判斷其左邊對象是否為其右邊類的實例,返回的是boolean類型的數據。用它來判斷某個對象是否是

C#HttpWebRequest的用法

網站 default 編碼方式 對數 c# toarray collect acc like 本文實例講述了C#中HttpWebRequest的用法。分享給大家供大家參考。具體如下: HttpWebRequest類主要利用HTTP 協議和服務器交互,通常是通過 GET 和

C++的map用法

時間 占用 sort函數 數組 例程 通道 組織 sso 查找 Map是 STL的一個關聯容器,它提供一對一(其中第一個可以稱為關鍵字,每個關鍵字只能在map中出現一次,第二個可能稱為該關鍵字的值)的數據 處理能力,由 於這個特性,它完成有可能在我們處理一對一數據的

【轉載】 c++static的用法

ostream 並不會 style 轉載 程序員 都是 note 每次 reference 出處: http://blog.csdn.net/majianfei1023/article/details/45290467 C 語言的 static 關鍵字有三種(具體來說是

PHP 基礎篇 - PHP DES 加解密

tor 數據加密 解密 ans eat mark encrypted hex 基礎 一、簡介 DES 是對稱性加密裏面常見一種,全稱為 Data Encryption Standard,即數據加密標準,是一種使用密鑰加密的塊算法。密鑰長度是64位(bit),超過位數密鑰被忽

mysql where in 用法

MySQL這裏分兩種情況來介紹 1、in 後面是記錄集,如: select * from table where uname in(select uname from user); 2、in 後面是字符串,如: select * from table where uname

linux 特殊符號用法

引號 zabbix 目錄 sele cond 特殊符號 zab set speed 星號(*) 當用於shell變量時, [root@zabbix_nuc ~]# sql=‘select * from mysql.user‘ [root@zabbix_nuc ~]# ech

C#string.format用法

個數 date 其中 位置 tr1 bsp 位數 數值 日期格式化 tring.Format 方法的幾種定義: String.Format (String, Object) 將指定的 String 中的格式項替換為指定的 Object 實例的值的文本等效項。String.F

php 正則表示式

概述 正則表示式是一種描述字串結果的語法規則,是一個特定的格式化模式,可以匹配、替換、擷取匹配的字串。常用的語言基本上都有正則表示式,如JavaScript、java等。其實,只有瞭解一種語言的正則使用,其他語言的正則使用起來,就相對簡單些。文字主要圍繞解決下面問題展開。 有哪些常用的

linuxmariadb基本用法(企業級)

資料庫 表的每一個列名字的頭   叫做欄位 是高階的exel表格軟體 資料庫種類 sqlserver  sqllite  db2   oracle  > mysql   比較多   其中my

linux sed的用法

sed 是操作,過濾和轉換文字內容的強大工具,sed可以從檔案和管道中讀取輸入。 sed 命令語法 sed [ option ] {sed -commands} {input -file} -e :執行多個sed命令 -n :只顯示操作行 -i

c++static的用法

C 語言的 static 關鍵字有三種(具體來說是兩種)用途: 1. 靜態區域性變數:用於函式體內部修飾變數,這種變數的生存期長於該函式。 int foo(){ static int i = 1; // note:1 //int i = 1; // not

C語言for語句用法

在C語言中,for語句使用最為靈活,它完全可以取代 while 語句。它的一般形式為: for(表示式1; 表示式2; 表示式3) 語句 它的執行過程如下:先求解表示式1。 求解表示式2,若其值為真(非0),則執行for語句中指定的內嵌語句,然後執行下面第3)步;若其值

pythonMethodType的用法

  MethodType可以把外部函式(方法)繫結到類或類的例項中 而python2跟python3中MethodType的用法不盡相同,下面是它們的區別: python2: 公共部分: class Student(object): pass def set_

c++c_str()的用法

//標準庫的string類提供了三個成員函式來從一個string得到c型別的字元陣列 //主要介紹c_str //c_str():生成一個const char*指標,指向以空字元終止的陣列。 //這個陣列應該是string類內部的陣列 #include <iostre

a標籤href=""的用法

      眾所周知,a標籤的最重要功能是實現超連結和錨點。而且,大多數人認為a標籤最重要的作用是實現超連結,今天我剛好碰到a標籤的一種寫法<a href="JavaScript:;">

Androidpersistent屬性用法

看見好的東西,不轉載真是罪過 本文例項講述了Android中persistent屬性用法。分享給大家供大家參考,具體如下: 前段時間在研究telephony時,一直沒有在framework下發現對telephony的初始化(PhoneFactory.Java中的make