[Bài 6] PHP Cơ Bản - Cấu Trúc Điều Kiện If…else, switch…case Trong PHP - Cấu Trúc Điều Khiển Là Gì, Cấu Trúc Điều Khiển Trong PHP, Câu Lệnh if, Câu Lệnh if...elseif...else, Câu Lệnh if...else, Câu lên switch case, Case Mặc Định, Gộp Case, Câu Lệnh break trong switch.
1. Cấu Trúc Điều Khiển Là Gì
Trong lập trình, cấu trúc điều khiển hay còn gọi là control structure được sử dụng để điều khiển luồng chạy của chương trình.
$language = "PHP";
if ($language == "PHP") {
echo "Học lập trình PHP tại Devpro Việt Nam.";
} else if ($language == "JAVA") {
echo " Học lập trình JAVA tại Devpro Việt Nam.";
} else {
echo "Học lập trình tại Devpro.";
}
?>
2. Cấu Trúc Điều Khiển Trong PHP
PHP cung cấp các cấu trúc điều khiển sau đây:
Câu lệnh if.
Câu lệnh if...else.
Câu lệnh if...elseif.
Câu lệnh switch
3. Câu Lệnh if
Câu lệnh if (hay câu lệnh điều kiện if) trong PHP được sử dụng để thực thi một đoạn code cho trước khi và chỉ khi điều kiện trả về giá trị true.
Câu lệnh if có cú pháp như sau:
if (biểu thức điều kiện) {
// đoạn code được thực thi khi biểu thức điều kiện có giá trị là true
}
Ở ví dụ dưới đây đoạn code đặt bên trong câu lệnh if sẽ được chạy nếu như biểu thức điều kiện $name == "Devpro Việt Nam" trả về giá trị true.
$name = "Devpro Việt Nam";
if ($name == " Devpro Việt Nam ") {
echo "Học lập trình tại Devpro Việt Nam";
}
?>
4. Câu Lệnh if...else
Câu lệnh if...else trong PHP được sử dụng để chạy một đoạn code cho trước khi biểu thức điều kiện trả về giá trị true ngược lại nếu biểu thức điều kiện trả về giá trị false thì chương trình sẽ thực thi một đoạn code khác.
Câu lệnh if...else trong PHP có cú pháp như sau:
if (biểu thức điều kiện) {
// đoạn code được thực thi khi biểu thức điều kiện có giá trị là true
} else {
// đoạn code được thực thi khi biểu thức điều kiện có giá trị là false
}
Ở ví dụ dưới đây đoạn code đặt bên trong câu lệnh if sẽ được chạy nếu như biểu thức điều kiện $language == "PHP" trả về giá trị true. Trong trường hợp ngược lại đoạn code đặt bên trong câu lệnh else sẽ được chạy.
$language = "PHP";
if ($language == "PHP") {
echo "Học PHP tại Devpro Việt Nam.";
} else {
echo "Devpro Việt Nam.";
}
?>
5. Câu Lệnh if...elseif...else
Câu lệnh if...elseif...else được dùng khi cần kiểm soát sự thực thi của hơn hai đoạn code khác nhau dựa vào giá trị trả về của hai hai biểu thức điều kiện.
Cú pháp của câu lệnh if...elseif...else trong PHP như sau:
if (biểu thức điều kiện thứ nhất) {
// đoạn code được thực thi khi biểu thức điều kiện thử nhất có giá trị là true
} else if (biểu thức điều kiện thứ 2) {
// đoạn code được thực thi khi biểu thức điều kiện thứ nhất có giá trị là false
// đồng thời biểu thức thứ hai có giá trị là true
} else {
// đoạn code được thực thi khi cả hai biểu thức điều kiện ở trên có giá trị là false
}
Ví dụ dưới đây sử dụng câu lệnh if...elseif...else với hai biểu thức điều kiện $language === "PHP" và $language === "JAVA":
$language = "PHP";
if ($language == "PHP") {
echo "Học lập trình PHP tại Devpro Việt Nam.";
} else if ($language == "JAVA") {
echo " Học lập trình JAVA tại Devpro Việt Nam.";
} else {
echo "Học lập trình tại Devpro.";
}
?>
Bạn cũng có thể sử dụng hơn một câu lệnh else if nếu có nhiều hơn hai biểu thức điều kiện. Ví dụ:
$today = "Thứ Bảy";
if ($today == "Thứ Bảy") {
echo "Ngày nghỉ cuối tuần Thứ Bảy.";
} else if ($today == "Chủ Nhật") {
echo "Ngày nghỉ cuối tuần Chủ Nhật.";
} else if ($today == "Thứ Hai") {
echo "Ngày làm việc đầu tiên của tuần.";
} else if ($today == "Thứ Sáu") {
echo "Ngày làm việc cuối cùng của tuần.";
} else {
echo "Ngày làm việc khác."
}
?>
Tuy nhiên trong trường hợp cần so sánh giá trị của một biến hoặc biểu thức với nhiều giá trị khác nhau như ví dụ trên thì cách tốt hơn đó là sử dụng câu lệnh switch. Chúng ta sẽ tìm hiểu về loại câu lệnh này trong bài học tiếp theo.
6. Câu lên switch case
Câu lệnh switch trong PHP được sử dụng khi trong chương trình chúng ta cần lựa chọn để chạy một đoạn code trong một danh sách các đoạn code cho trước. Đoạn code nào được chạy tuỳ thuộc vào giá trị trả về của một biến hoặc biểu thức cho trước.
Cú pháp của câu lệnh switch trong PHP như sau:
switch (biến hoặc biểu thức) {
case giá_trị so sánh1:
// code được thực thi nếu giá trị biểu thức bằng với giá trị so sánh 1
break;
case giá_trị so sánh 2:
// code được thực thi nếu giá trị biểu thức bằng với giá trị so sánh 2
break;
case giá_trị so sánh v3:
// code được thực thi nếu giá trị biểu thức bằng với giá trị so sánh v3
break;
...
default:
// code được thực thi nếu giá trị biểu thức khác với tất cả các giá trị so sánh ở trên
break;
}
Ví dụ:
$today = "Thứ Bảy";
switch ($today) {
case "Chủ Nhật":
echo "Ngày cuối tuần.";
break;
case "Thứ Bảy":
echo "Ngày cuối tuần.";
break;
case "Thứ Hai":
echo "Ngày đầu tuần.";
break;
default:
echo "Ngày trong tuần không phải là đầu tuần.";
break;
}
?>
7. Case Mặc Định
Case mặc định default là case được lựa chọn để chạy nếu như không có các case nào được chạy:
$today = "Thứ Bảy";
switch ($today) {
case "Thứ Bảy":
echo "Ngày cuối tuần.";
break;
case "Chủ Nhật":
echo "Ngày cuối tuần.";
break;
case "Thứ Hai":
echo "Ngày đầu tuần.";
break;
default:
echo "Ngày trong tuần không phải là thứ Hai.";
break;
}
Case mặc định trong câu lệnh switch là tuỳ ý và chúng ta hoàn toàn có thể không dùng nếu không cần thiết.
8. Gộp Case
Bạn có thể gộp các case lại nếu như đoạn code trong các case này là giống nhau, ví dụ trên có thể viết lại bằng cách gộp hai case Thứ Bảy và Chủ Nhật làm một như sau:
$today = "Thứ Bảy";
switch ($today) {
case "Thứ Bảy":
case "Chủ Nhật":
echo "Ngày cuối tuần.";
break;
case "Thứ Hai":
echo "Ngày đầu tuần.";
break;
default:
echo "Ngày trong tuần không phải là đầu tuần.";
break;
}
?>
9. Câu Lệnh break trong switch
Kết thúc mỗi case (hay trường hợp) chúng ta cần đặt câu lệnh break ở phía cuối. Điều này áp dụng với cả case mặc định default.
Câu lệnh break trong switch giúp PHP dừng việc tiếp tục tiến hành kiểm tra các case phía sau. Nếu như chúng ta không sử dụng break thì PHP tiếp tục kiểm tra các case sau và nếu gặp case mặc định thì code trong case mặc định này cũng sẽ được chạy.
Ví dụ dưới đây quên không sử dụng câu lệnh break sau case đầu tiên, bạn thử nghĩ xem khi chạy kết quả hiển thị sẽ như thế nào:
$today = "Chủ Nhật";
switch ($today) {
case "Chủ Nhật":
echo "Ngày cuối tuần.";
case "Thứ Bảy":
echo "Ngày cuối tuần.";
break;
case "Thứ Hai":
echo "Ngày đầu tuần.";
break;
default:
echo "Ngày trong tuần không phải là đầu tuần.";
break;
}
?>
Bài học PHP cơ bản khác bạn nên đọc: