Câu lệnh switch trong PHP được sử dụng để thực thi một câu lệnh từ nhiều điều kiện. Nó hoạt động giống như câu lệnh if-else-if trong PHP.

Cú pháp

switch(expression){      
case value1:      
 //code được thực thi
 break;  
case value2:      
 //code được thực thi
 break;  
......      
default:       
 code sẽ được thực thi nếu tất cả các trường hợp không khớp;
}

Các điểm quan trọng cần chú ý về switch:

  1. default là một câu lệnh không bắt buộc. Ngay cả khi nó không quan trọng nhưng default luôn phải là câu lệnh cuối cùng.
  2. Chỉ có thể có một default trong câu lệnh switch. Hơn một default có thể dẫn đến một Fatal error.
  3. Mỗi case có thể có một câu lệnh break , được sử dụng để kết thúc chuỗi câu lệnh.
  4. Câu lệnh break là tùy chọn để sử dụng trong switch. Nếu break không được sử dụng, tất cả các câu lệnh sẽ thực thi sau khi tìm thấy giá trị trường hợp phù hợp.
  5. PHP cho phép bạn sử dụng số, ký tự, chuỗi, cũng như các hàm trong biểu thức của switch.
  6. Việc lồng các câu lệnh switch được cho phép, nhưng nó làm cho chương trình phức tạp hơn và khó đọc hơn.
  7. Bạn có thể sử dụng dấu chấm phẩy (;) thay cho dấu hai chấm (:). Nó sẽ không tạo ra bất kỳ lỗi nào.

1. Sơ đồ switch trong PHP

2. Ví dụ về switch trong PHP

<?php      
$num=20;      
switch($num){      
case 10:      
echo("number is equals to 10");      
break;      
case 20:      
echo("number is equal to 20");      
break;      
case 30:      
echo("number is equal to 30");      
break;      
default:      
echo("number is not equal to 10, 20 or 30");      
}     
?>  

Đầu ra:

number is equal to 20

3. Câu lệnh Switch PHP với ký tự

Chương trình kiểm tra nguyên âm và phụ âm

Chúng ta sẽ chuyển một ký tự trong biểu thức switch để kiểm tra xem nó là nguyên âm hay hằng số. Nếu ký tự được truyền là A, E, I, O hoặc U, nó sẽ là nguyên âm nếu không thì sẽ là phụ âm.

<?php      
    $ch = 'U';  
    switch ($ch)  
    {     
        case 'a':   
            echo "Given character is vowel";  
            break;  
        case 'e':   
            echo "Given character is vowel";  
            break;  
        case 'i':   
            echo "Given character is vowel";  
            break;  
        case 'o':   
            echo "Given character is vowel";  
            break;    
        case 'u':   
            echo "Given character is vowel";  
            break;  
        case 'A':   
            echo "Given character is vowel";  
            break;  
        case 'E':   
            echo "Given character is vowel";  
            break;  
        case 'I':   
            echo "Given character is vowel";  
            break;  
        case 'O':   
            echo "Given character is vowel";  
            break;  
        case 'U':   
            echo "Given character is vowel";  
            break;  
        default:   
            echo "Given character is consonant";  
            break;  
    }  
?>  

Đầu ra:

Given character is vowel

4. Câu lệnh switch trong PHP với chuỗi

PHP cho phép truyền chuỗi trong biểu thức switch. Hãy xem ví dụ dưới đây về thời lượng khóa học bằng cách chuyển chuỗi trong câu lệnh switch case.

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
<?php      
    $ch = "B.Tech";  
    switch ($ch)  
    {     
        case "BCA":   
            echo "BCA is 3 years course";  
            break;  
        case "Bsc":   
            echo "Bsc is 3 years course";  
            break;  
        case "B.Tech":   
            echo "B.Tech is 4 years course";  
            break;  
        case "B.Arch":   
            echo "B.Arch is 5 years course";  
            break;  
        default:   
            echo "Wrong Choice";  
            break;  
    }  
?> 

Đầu ra:

B.Tech is 4 years course

5. Câu lệnh switch trong PHP không thành công

Câu lệnh switch PHP là bình thường. Nó có nghĩa là nó sẽ thực thi tất cả các câu lệnh sau khi nhận được kết quả khớp đầu tiên, nếu không tìm thấy câu lệnh break.

<?php      
    $ch = 'c';  
    switch ($ch)  
    {     
        case 'a':   
            echo "Choice a";  
            break;  
        case 'b':   
            echo "Choice b";  
            break;  
        case 'c':   
            echo "Choice c";      
            echo "</br>";  
        case 'd':   
            echo "Choice d";  
            echo "</br>";  
        default:   
            echo "case a, b, c, and d is not found";  
    }  
?>  

Đầu ra:

Choice c
Choice d
case a, b, c, and d is not found

6. Câu lệnh switch lồng nhau trong PHP

Câu lệnh switch lồng nhau có nghĩa là câu lệnh switch bên trong một câu lệnh switch khác. Đôi khi nó dẫn đến sự nhầm lẫn.

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Group: https://www.facebook.com/groups/cafedev.vn/
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
Pinterest: https://www.pinterest.com/cafedevvn/
YouTube: https://www.youtube.com/channel/UCE7zpY_SlHGEgo67pHxqIoA/
*/
<?php      
    $car = "Hyundai";                   
        $model = "Tucson";    
        switch( $car )    
        {    
            case "Honda":    
                switch( $model )     
                {    
                    case "Amaze":    
                           echo "Honda Amaze price is 5.93 - 9.79 Lakh.";   
                        break;    
                    case "City":    
                           echo "Honda City price is 9.91 - 14.31 Lakh.";    
                        break;     
                }    
                break;    
            case "Renault":    
                switch( $model )     
                {    
                    case "Duster":    
                        echo "Renault Duster price is 9.15 - 14.83 L.";  
                        break;    
                    case "Kwid":    
                           echo "Renault Kwid price is 3.15 - 5.44 L.";  
                        break;    
                }    
                break;    
            case "Hyundai":    
                switch( $model )     
                {    
                    case "Creta":    
                        echo "Hyundai Creta price is 11.42 - 18.73 L.";  
                        break;    
        case "Tucson":    
                           echo "Hyundai Tucson price is 22.39 - 32.07 L.";  
                        break;   
                    case "Xcent":    
                           echo "Hyundai Xcent price is 6.5 - 10.05 L.";  
                        break;    
                }    
                break;     
        }  
?>   

Đầu ra:

Hyundai Tucson price is 22.39 - 32.07 L.

Cài ứng dụng cafedev để dễ dàng cập nhật tin và học lập trình mọi lúc mọi nơi tại đây.

Tài liệu từ cafedev:

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!