Summary: trong hướng dẫn này, bạn sẽ tìm hiểu về câu lệnh if elseif
của PHP để thực thi các khối mã dựa trên nhiều biểu thức boolean.
Giới thiệu về câu lệnh PHP if elseif
Câu lệnh
if đánh giá một biểu thức
và thực thi một khối mã nếu biểu thức
đó đúng:
<?php if (biểu thức) { khối mã; }
Lệnh if
có thể có một hoặc nhiều mệnh đề elseif
tuỳ chọn. Câu lệnh này là sự kết hợp của if
và
else:
<?php if (biểu thức1) { khối mã; } elseif (biểu thức2) { khối mã; } elseif (biểu thức3) { khối mã; }
PHP đánh giá biểu thức1
và thực thi khối mã trong mệnh đề if
nếu biểu thức1
là đúng
.
Nếu biểu thức1
là sai
, PHP
sẽ đánh giá biểu thức2
trong mệnh đề elseif
. Tiếp theo nếu kết quả là đúng
, thì PHP thực thi câu lệnh trong khối elseif
đó. Ngược lại, PHP sẽ đánh giá biểu thức3
.
Nếu biểu thức3
là đúng
, PHP sẽ thực thi khối mã theo mệnh đề elseif
. Ngược lại, PHP sẽ bỏ qua nó.
Chú ý rằng khi một câu lệnh if
có nhiều mệnh đề elseif
, mệnh đề này sẽ được thực thi chỉ khi biểu thức trong mệnh đề if
hoặc mệnh đề elseif
trước đó đánh giá là sai
.
Biểu đồ dưới đây minh họa cách câu lệnh if elseif
hoạt động:
Ví dụ sau sử dụng câu lệnh if elseif
để hiển thị xem biến $x
có lớn hơn $y
không:
<?php $x = 10; $y = 20; if ($x > $y) { $message = 'x lớn hơn y'; } elseif ($x < $y) { $message = 'x nhỏ hơn y'; } else { $message = 'x bằng y'; } echo $message;
Output:
x nhỏ hơn y
Script sẽ hiển thị thông báo x nhỏ hơn y
như dự kiến.
Cú pháp thay thế PHP if elseif
PHP cũng hỗ trợ một cú pháp thay thế cho câu lệnh elseif
mà không sử dụng dấu ngoặc nhọn như sau:
<?php if (biểu thức): khối mã; elseif (biểu thức2): khối mã; elseif (biểu thức3): khối mã; endif;
Trong cú pháp này:
- Sử dụng dấu chấm phẩy (:) sau mỗi điều kiện theo sau từ khoá
if
hoặcelseif
. - Sử dụng từ khoá
endif
thay vì dấu ngoặc nhọn (}
) ở cuối câu lệnhif
.
Ví dụ dưới đây sử dụng cú pháp thay thế elseif
:
<?php $x = 10; $y = 20; if ($x > $y) : $message = 'x lớn hơn y'; elseif ($x < $y): $message = 'x nhỏ hơn y'; else: $message = 'x bằng y'; endif; echo $message;
Cú pháp thay thế này phù hợp để sử dụng với HTML.
PHP elseif vs. else if
PHP cho phép bạn viết else if
(hai từ) có kết quả tương tự như elseif
(một từ):
<<?php if (biểu thức) { khối mã; } else if (biểu thức2) { khối mã2; }
Trong trường hợp này, else if
tương đương với cấu trúc lồng nhau
if…else sau đây:
if (biểu thức) { khối mã; } else { if (biểu thức2) { khối mã2; } }
Nếu bạn sử dụng cú pháp thay thế, bạn cần sử dụng câu lệnh if...elseif
thay vì câu lệnh if...else if
. Nếu không, bạn sẽ nhận được một lỗi.
Ví dụ dưới đây không hoạt động và gây ra lỗi:
<?php $x = 10; $y = 20; if ($x > $y) : echo 'x lớn hơn y'; else if ($x < $y): echo 'x bằng y'; else: echo 'x nhỏ hơn y'; endif;
Tóm tắt
- Sử dụng câu lệnh
if...elseif
để đánh giá nhiều biểu thức và thực thi khối mã theo điều kiện. - Chỉ mệnh đề
if...elseif
hỗ trợ cú pháp thay thế, mệnh đềif...else if
không hỗ trợ. - Hãy sử dụng
elseif
khi có thể để làm cho mã của bạn thống nhất hơn.