Khoá học PHP cơ bản Bài 7: Câu lệnh điều khiển (if else) và câu lệnh lựa chọn (switch case)

1.Câu lệnh điều kiện If…else

Trước khi tìm hiểu cú pháp cũng như cách sử dụng câu lệnh điều kiện if..else chúng ta hãy xét một ví dụ:
-Trong cuộc sống có nhiều việc chúng ta chỉ làm khi thỏa mãn một số điều kiện cụ thể nào đó:
+ Nếu hôm nay trời mưa thì chúng ta sẽ ở nhà
+ Nếu hôm nay trời mưa thì chúng ta sẽ ở nhà, nếu không thì chúng ta sẽ đi chơi
Ở câu nói thứ nhất không nói rõ nếu trời không mưa thì sẽ có chuyện gì sẽ xáy ra tiếp theo, còn ở câu nói thứ hai có nói rõ “nếu không mưa thì chúng ta sẽ đi chơi”
Trong lập trình, như chúng ta đã biết câu lệnh điều kiện thường trả lời cho câu hỏi như “nếu đúng…thì làm…”. Nếu điều kiện là đúng thì chương trình sẽ được thực hiện, ngược lại nếu điều kiện đưa ra là sai thì nội dung công việc đó sẽ không được thực hiện mà thay vào đó nó sẽ chạy nội dung khác. Nếu như bạn đã học qua một số ngôn ngữ khác như C, C++, java… thì đối với PHP chúng ta sẽ có những cú pháp đơn giản là:
– Cú pháp 1:

– Cú pháp 2:

 

– Cú pháp 3:

– Cú pháp 4:

a) Cú pháp If(điều kiện) {// câu lệnh}

VD:

Ở đây nếu thoản mãn điều kiện “a>b” thì sẽ in ra dòng thông báo “a lớn hơn b”

b) Cú pháp If(điều kiện){//câu lệnh 1}else{//câu lệnh 2}

VD:

Chúng ta sẽ xét điều kiện nếu như điều kiện “a > b” là đúng thì sẽ in ra dòng thông báo “a lớn hơn b”, ngược lại nếu điều kiện là sai thì sẽ in ra dòng thông báo “a không lớn hơn b”

c) If(điều kiện 1) {câu lệnh 1} else if(điều kiện 2) {câu lệnh 2}…..else if(điều kiện n-1){câu lệnh n-1} else{câu lệnh n}

VD:

Trong ví dụ trên chúng ta sẽ xet 3 điều kiện

  • Nếu a > b là đúng thì sẽ in ra dòng thông báo “a lớn hơn b”;
  • Nếu không sẽ xét điều kiện tiếp theo nếu a<b là đúng thì sẽ in ra dòng thông báo “a nhỏ hơn b”
  • Ngược lại nếu như 2 điều kiện trên là sai thì điều kiện còn lại (a=b) là đúng và sẽ in ra kết quả “a bằng b”

Bên cạnh đó chúng ta cũng có thể xét nhiều điều kiện else if() đối với một số tình huống xét với nhiều lựa chọn

d) Câu lệnh điều kiện lồng nhau

Đây là phần khó nhất trong tất cả các vấn đề của câu lệnh điều kiện, ở trên chúng ta chỉ xét câu lẹnh if…else với một tầng, ở phần này chúng ta sẽ nghien cứu if..else với nhiều tầng lồng nhau, nghĩa là câu lệnh if…else con nằm trong câu lệnh if…else cha

Vd:

 

Ở đây chúng ta xét một biến a nhận giá trị bằng 12

+ Nếu như thỏa mãn điều kiện (a%2==0) a chia hết cho 2 thì sẽ kiểm tra với 2 điều kiện con nếu chia hết cho 2 rồi và lớn hơn 10 (a>10) thì sẽ trả về kết quả là “a là số chẵn và lơn hơn 10”, nếu như điều kiện trên là sai thì sẽ trả về kết quả “a là số chẵn và lơn hơn 10”

+ Nếu điều kiện (a%2==0) sai nghĩa là a không chia hết cho 2 thì sẽ trả kết quả là dòng thông báo “a là số lẻ”

 

2.Câu lệnh lựa chọn switch…case

Như chúng ta đã biết câu lệnh if else dùng để kiểm tra điều kiện và rẽ nhánh các câu lệnh của bài toán. Nhưng đối với một số trường hợp chúng ta có rất nhiều điều kiện, với nhiều câu lệnh khác nhau, việc sử dụng câu lệnh điều kiện if…else không được tiện lợi cho lắm, nhiều khi sử dụng không đúng có thể kết quả trả về bị sai, để khắc phục vấn đề này trong PHP cung cấp cho chúng ta một câu lệnh cho phép chúng ta xử lý nhiều điều kiện với khác nhau mà vẫn đảm bảo chính xác kết quả trả về đó là câu lệnh lựa chọn switch…case

Cú pháp:

Trong đó switch, case, default là những từ khóa trong PHP. Các chuỗi câu lệnh có thể là lệnh đơn hoặc lệnh kép và không cần đặt trong dấu ngoặc nhọn {}. Ở mỗi câu lệnh lựa chọn case nó sẽ so sánh xem biến truyền vào $variable có bằng với điều kiện $value 1, value 2…không nếu thỏa mãn thì các câu lệnh bên trong case sẽ được thực hiện, và kết thúc bởi break. Nếu không có điều kiện case nào đúng thì mặc định nó sẽ chạy câu lệnh default (có thể có hoặc không).

Vd:

– Chúng ta có thể gộp các lựa chọn case để xử lý chung một hành động nào đó:

 

You may also like...

1 Response

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">