Hướng dẫn dùng switch control trong PHP

Tác giả: Dương Nguyễn Phú Cường

Ngày đăng: Hồi xưa đó

What is a control structure?

Code execution can be grouped into categories as shown below

  • Sequential – this one involves executing all the codes in the order in which they have been written.
  • Decision – this one involves making a choice given a number of options. The code executed depends on the value of the condition.

A control structure is a block of code that decides the execution path of a program depending on the value of the set condition. Let’s now look at some of the control structures that PHP supports.

If… then... else is the simplest control structure. It evaluates the conditions using Boolean logic When to use if… then… else

  • You have a block of code that should be executed only if a certain condition is true
  • You have two options, and you have to select one.
  • If… then… else if… is used when you have to select more than two options and you have to select one or more

Syntax The syntax for if… then… else is;

HERE,

  • if (condition is true)” is the control structure
  • block one” is the code to be executed if the condition is true
  • {…else…} is the fallback if the condition is false
  • block two” is the block of code executed if the condition is false

How it works The flow chart shown below illustrates how the if then… else control structure works

Hướng dẫn dùng switch control trong PHP
Let’s see this in action The code below uses “if… then… else” to determine the larger value between two numbers.

 $second_number){

echo "$first_number is greater than $second_number";

}else{

echo "$second_number is greater than $first_number";

}

?>

Output:

21 is greater than 7

PHP Switch Case

Switch… case is similar to the if then… else control structure. It only executes a single block of code depending on the value of the condition. If no condition has been met then the default block of code is executed. It has the following basic syntax.

HERE,

  • “switch(…){…}” is the control structure block code
  • “case value: case…” are the blocks of code to be executed depending on the value of the condition
  • “default:” is the block of code to be executed when no value matches with the condition

How it works The flow chart shown below illustrates how the switch control structure works

Practical example The code below uses the switch control structure to display a message depending on the day of the week.

Output:

ladies night, take her out for dinner

Summary

  • Control structures are used to control the execution of the program
  • The if then... else is when you have more than route block of code to execute depending on the value of the condition
  • Switch… case is used to when you have a number of block codes, and you only have to execute one of them depending on the value of the set case.

Trong bài này, chúng ta sẽ tìm hiểu kỹ về cấu trúc rẽ nhánh switch…case trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Nội dung chính

  • 1) Khái niệm lệnh "switch case" trong PHP
  • 2) Cách sử dụng lệnh "switch case" trong PHP
  • 3) Tầm quan trọng của lệnh "break"
  • 4) Công dụng của lệnh "default"
  • 5) Nhóm các trường hợp lại với nhau
  • 6) Lệnh "switch case lồng nhau"

Câu lệnh switch được sử dụng để lựa chọn một trong nhiều khối lệnh để thực hiện tùy vào biểu thức nào được lựa chọn. Cú pháp cấu trúc switch…case trong PHP:

switch (label) { case label1: //code to be executed if n=label1; break; case label2: //code to be executed if n=label2; break; case label3: //code to be executed if n=label3; break; ... default: //code to be executed if n is different from all labels; }

Câu lệnh switch…case trong PHP hoạt động như thế nào? Đầu tiên, chúng ta có một biểu thức label (thường là một biến). Giá trị của label lần lượt được so sánh với các giá trị label1, label2, label3,… của từng case. Nếu có sự trùng khớp, code bên trong case đó sẽ được thực thi. Sử dụng câu lệnh break; để ngăn thực thi các trường hợp tiếp theo trong switch. Các câu lệnh trong default sẽ được thực thi nếu không tìm thấy kết quả phù hợp nào.

Kết quả
Large

Tư duy về cấu trúc rẽ nhánh switch...case trong PHP cũng giống các ngôn ngữ khác như C++, Java,… Các bạn có thể đọc bài Cấu trúc rẽ nhánh switch case và minh họa với C++ hoặc Câu lệnh switch case và toán tử điều kiện trong Java để tham khảo thêm nhé!

  • Câu lệnh order by và limit trong MySQL với Python
  • Các thành phần và cú pháp cơ bản trong chương trình Python
  • Chỉ định truy cập (access modifier) của thành viên thuộc lớp trong Java
  • Nạp chồng toán tử (operator overloading) trong C++
  • Dẫn xuất public, protected, private trong kế thừa và minh họa với C++

PHP programming web programming

1) Khái niệm lệnh "switch case" trong PHP

- Lệnh switch case dùng để xác định một danh sách các trường hợp, trong mỗi trường hợp sẽ có một đoạn mã. Khi giá trị của bạn trùng khớp với trường hợp nào thì đoạn mã của trường hợp đó sẽ được thực thi.

Nội dung chính

  • 1) Khái niệm lệnh "switch case" trong PHP
  • 2) Cách sử dụng lệnh "switch case" trong PHP
  • 3) Tầm quan trọng của lệnh "break"
  • 4) Công dụng của lệnh "default"
  • 5) Nhóm các trường hợp lại với nhau
  • 6) Lệnh "switch case lồng nhau"

- Để giúp bạn dễ hình dung hơn về khái niệm trên thì tôi có một ví dụ minh họa như sau:

- Giả thuyết: Khi đến một quán nước, ở đó có một cái menu giống bên dưới và trong tay bạn chỉ có đúng mười nghìn.

MENU

Cà phê sữa

12.000đ

............................................

Cà phê đá

10.000đ

............................................

Sting dâu

8.000đ

............................................

Trà đá

2.000đ

............................................

- Câu hỏi: Nếu yêu cầu chọn một món nước uống có giá bằng đúng với số tiền mà bạn đang có, thì món nước uống đó là món gì !?

- Trả lời: Cà phê đá.

- Phía trên là một ví dụ mô tả gần giống với lệnh switch case, trong đó:

  • Số tiền mà bạn đang có chính là giá trị (tạm gọi như vậy)
  • Giá tiền của từng loại nước uống trong menu chính là trường hợp
  • Món nước uống chính là đoạn mã được thực thi.

- Nếu ta chuyển ví dụ trên về dạng mã lệnh trong PHP thì nó sẽ có dạng như sau:

Xem ví dụ

2) Cách sử dụng lệnh "switch case" trong PHP

- Trong PHP, lệnh switch case được sử dụng với cú pháp như sau:

switch (giá trị){
    case trường hợp 1:
        //đoạn mã này sẽ được thực thi khi giá trị trùng khớp với trường hợp 1
        break;
    case trường hợp 2:
        //đoạn mã này sẽ được thực thi khi giá trị trùng khớp với trường hợp 2
        break;
    case trường hợp 3:
        //đoạn mã này sẽ được thực thi khi giá trị trùng khớp với trường hợp 3
        break;
    ...
    ...
    ...
    default:
        //đoạn mã này sẽ được thực thi khi giá trị KHÔNG trùng khớp trường hợp nào cả
        break;
}

Hiển thị tên của loại nước uống có giá trị bằng đúng với số tiền mà bạn đang có.


Xem ví dụ

Hôm nay là thứ mấy !?


Xem ví dụ

3) Tầm quan trọng của lệnh "break"

- Trong danh sách các trường hợp của lệnh switch case, khi giá trị của bạn trùng khớp với trường hợp nào thì đoạn mã của trường hợp đó sẽ được thực, ngoài ra các đoạn mã của những trường hợp nằm bên dưới trường hợp trùng khớp cũng sẽ được thực thi luôn.

- Từ đây, lệnh break giúp ta ngăn chặn việc thực thi các đoạn mã của những trường hợp nằm bên dưới trường hợp trùng khớp.

Ví dụ, lệnh switch case không sử dụng break Ví dụ, lệnh switch case có sử dụng break
Mùa Xuân

"; case "ha": echo "

Mùa Hạ

"; case "thu": echo "

Mùa Thu

"; case "dong": echo "

Mùa Đông

"; } ?>
Mùa Xuân

"; break; case "ha": echo "

Mùa Hạ

"; break; case "thu": echo "

Mùa Thu

"; break; case "dong": echo "

Mùa Đông

"; break; } ?>
Xem ví dụ Xem ví dụ

4) Công dụng của lệnh "default"

- Lệnh default dùng để xác định một đoạn mã mặc định sẽ được thực thi khi giá trị của bạn không trùng khớp với bất kỳ trường hợp nào.


Xem ví dụ

5) Nhóm các trường hợp lại với nhau

- Nếu trong danh sách các trường hợp của lệnh switch case có những trường hợp mà bạn muốn cùng thực thi một đoạn mã thì ta hãy nhóm các trường hợp đó lại với nhau.


Xem ví dụ

6) Lệnh "switch case lồng nhau"

- Thật ra, lệnh switch case lồng nhau chỉ là cách sử dụng nâng cao của lệnh switch case thông thường, nó giúp ta mở rộng phạm vi xét duyệt các trường hợp. Từ đó, chọn được đoạn mã thích hợp nhất để thực thi.


Xem ví dụ