PHP if elseif – Giới thiệu về câu lệnh PHP if elseif

PHP if elseif - Giới thiệu về câu lệnh PHP if elseif

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 ifelse:

<?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đúng.

Nếu biểu thức1sai, 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đú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ặc elseif.
  • Sử dụng từ khoá endif thay vì dấu ngoặc nhọn (}) ở cuối câu lệnh if.

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.

Thành Nguyễn

Tôi là Thành, nên tôi đặt tên blog là Thành Nè, Thánh Né... là một coder cùi bắp (Code quèn). Chẳng giỏi viết lách, chỉ giỏi chém gió và có sở thích chia sẻ những kiến thức tôi đã từng...