PHP - Câu lệnh Switch

Xin chào các bạn đang học lập trình! Hôm nay, chúng ta sẽ cùng tìm hiểu một trong những cấu trúc điều khiển hữu ích nhất của PHP: câu lệnh switch. Là giáo viên máy tính gần gũi của bạn, tôi rất vui được hướng dẫn bạn trong hành trình này. Hãy chuẩn bị饮料 yêu thích của bạn, thư giãn và cùng tôi bắt đầu cuộc phiêu lưu lập trình này nhé!

PHP - Switch Statement

Câu lệnh Switch là gì?

Trước khi chúng ta đi vào chi tiết, hãy hiểu qua câu lệnh switch là gì và tại sao nó lại hữu ích. Hãy tưởng tượng bạn đang ở một cửa hàng kem, và bạn phải chọn một hương vị. Bạn có thể sử dụng một loạt các câu lệnh if-else để xử lý từng lựa chọn hương vị, nhưng điều đó sẽ nhanh chóng trở nên rối rắm. Đây là lúc câu lệnh switch đến để cứu nguy!

Câu lệnh switch cho phép bạn kiểm tra một biến với nhiều giá trị khác nhau và thực thi các khối mã khác nhau dựa trên kết quả khớp. Nó giống như việc có một người scooper kem thông thái biết chính xác phải làm gì dựa trên lựa chọn hương vị của bạn.

Cú pháp cơ bản

Dưới đây là cấu trúc cơ bản của câu lệnh switch:

switch (biểu thức) {
case giá trị1:
// mã cần thực thi nếu biểu thức == giá trị1
break;
case giá trị2:
// mã cần thực thi nếu biểu thức == giá trị2
break;
...
default:
// mã cần thực thi nếu biểu thức không khớp với bất kỳ case nào
}

Bây giờ, hãy xem điều này trong một ví dụ thực tế!

Ví dụ

Hãy tạo một chương trình đơn giản cho một thông điệp dựa trên ngày yêu thích trong tuần của người dùng.

<?php
$favoriteDay = "Wednesday";

switch ($favoriteDay) {
case "Monday":
echo "Someone's got a case of the Mondays!";
break;
case "Wednesday":
echo "Happy Hump Day!";
break;
case "Friday":
echo "TGIF! Party time!";
break;
default:
echo "Have a great day!";
}
?>

Nếu bạn chạy đoạn mã này, nó sẽ выводить: "Happy Hump Day!"

Hãy phân tích xem đang xảy ra điều gì ở đây:

  1. Chúng ta đặt một biến $favoriteDay là "Wednesday".
  2. Câu lệnh switch kiểm tra giá trị của $favoriteDay.
  3. Nó tìm thấy một khớp với case "Wednesday".
  4. Nó thực thi mã trong case đó, in ra "Happy Hump Day!".
  5. Câu lệnh break đảm bảo rằng việc thực thi dừng lại ở đây và không tiếp tục sang case tiếp theo.

Case mặc định trong Switch

Bạn có thể đã chú ý thấy case default trong ví dụ trước. Đây giống như tùy chọn "catch-all" trong ví dụ cửa hàng kem của chúng ta. Nếu không có case cụ thể nào khớp, bạn sẽ nhận được hương vị mặc định.

Hãy thay đổi ví dụ trước của chúng ta:

<?php
$favoriteDay = "Saturday";

switch ($favoriteDay) {
case "Monday":
echo "Someone's got a case of the Mondays!";
break;
case "Wednesday":
echo "Happy Hump Day!";
break;
case "Friday":
echo "TGIF! Party time!";
break;
default:
echo "Have a great day!";
}
?>

Lần này, đầu ra sẽ là: "Have a great day!"

Tại sao? Bởi vì "Saturday" không khớp với bất kỳ case cụ thể nào, vì vậy mã trong case default được thực thi.

Câu lệnh switch-endswitch

PHP cung cấp một cú pháp thay thế cho câu lệnh switch bằng cách sử dụng switch-endswitch. Điều này đặc biệt hữu ích khi bạn nhúng mã PHP vào HTML.

Dưới đây là cách nó trông như thế nào:

<?php
$favoriteColor = "blue";

switch ($favoriteColor):
case "red":
echo "You must be feeling passionate!";
break;
case "blue":
echo "Feeling calm and serene today?";
break;
case "green":
echo "Nature lover, aren't you?";
break;
default:
echo "That's a lovely color!";
endswitch;
?>

Điều này sẽ выводить: "Feeling calm and serene today?"

Cú pháp switch-endswitch hoạt động chính xác như cú pháp dấu ngoặc đơn truyền thống. Nó chỉ là vấn đề sở thích cá nhân và phong cách lập trình.

Sử dụng câu lệnh Break trong Switch...Case

Bây giờ, hãy nói về tầm quan trọng của câu lệnh break. Nó giống như biển báo "DỪNG" trong mã của chúng ta. Nếu không có nó, PHP sẽ tiếp tục thực thi mã trong các case tiếp theo, ngay cả khi chúng không khớp.

Hãy xem xảy ra gì khi chúng ta quên sử dụng break:

<?php
$grade = "B";

switch ($grade) {
case "A":
echo "Excellent! ";
case "B":
echo "Good job! ";
case "C":
echo "You passed. ";
default:
echo "Keep studying!";
}
?>

Bạn có thể đoán đầu ra là gì không? Nó sẽ là: "Good job! You passed. Keep studying!"

$grade là "B", mã vẫn tiếp tục thực thi tất cả các case sau "B" vì không có câu lệnh break. Điều này được gọi là hành vi "fall-through".

Trong khi điều này có thể hữu ích trong một số trường hợp, nhưng thường thì chúng ta không muốn như vậy. Hãy nhớ sử dụng break除非 bạn đặc biệt cần hành vi fall-through.

Kết luận

Và thế là bạn đã cùng nhau khám phá qua thế giới của câu lệnh switch trong PHP. Từ việc hiểu cấu trúc cơ bản đến việc khám phá các hình thức khác nhau và vai trò quan trọng của câu lệnh break, bạn现在已经装备好了 để sử dụng cấu trúc điều khiển mạnh mẽ này trong các chương trình PHP của mình.

Nhớ rằng, lập trình giống như việc học骑自行车. Ban đầu có thể thấy lảo đảo, nhưng với sự luyện tập, bạn sẽ nhanh chóng điềm tĩnh và tự tin. Hãy tiếp tục lập trình, tiếp tục học hỏi và quan trọng nhất là hãy vui vẻ!

Trước khi chúng ta chia tay, dưới đây là bảng tóm tắt các điểm chính mà chúng ta đã covered:

Khái niệm Mô tả
Câu lệnh Switch Kiểm tra một biến với nhiều giá trị và thực thi mã dựa trên kết quả khớp
Case Chỉ định một giá trị để so sánh với biểu thức switch
Default Thực thi khi không có case nào khớp với biểu thức switch
Break Dừng việc thực thi của khối switch
Switch-endswitch Cú pháp thay thế cho câu lệnh switch
Fall-through Hành vi khi bỏ qua câu lệnh break, causing execution to continue to the next case

Chúc các bạn lập trình vui vẻ và may mắn với các case của bạn!

Credits: Image by storyset