PHP Cơ bản
PHP Nâng cao
PHP & Cơ sở dữ liệu MySQL
Ví dụ PHP
Tài liệu tham khảo PHP
Quảng cáo

Lệnh If, Else trong PHP

Trong hướng dẫn này, bạn sẽ học cách sử dụng các câu lệnh if, if-else và if-elseif-else của PHP để thực thi các hoạt động khác nhau dựa trên các điều kiện

Câu lệnh điều kiện trong PHP

Giống như hầu hết các ngôn ngữ lập trình, PHP cũng cho phép bạn viết mã thực hiện các hành động khác nhau dựa trên kết quả của điều kiện kiểm tra logic hoặc so sánh tại thời điểm chạy. Điều này có nghĩa là, bạn có thể tạo điều kiện kiểm tra dưới dạng biểu thức đánh giá một trong hai truehoặc falsevà dựa trên những kết quả này, bạn có thể thực hiện một số hành động nhất định.

Có một số câu lệnh trong PHP mà bạn có thể sử dụng để đưa ra quyết định:

  • Câu lệnh if
  • Câu lệnh if ... else 
  • Câu lện if ... elseif .... else
  • Các switch ... case 

Chúng ta sẽ khám phá từng câu lệnh này trong các phần tiếp.

Câu lệnh if

Câu lệnh if được sử dụng để thực thi một khối mã chỉ khi đánh giá lại tình trạng nhất định là true. Đây là câu lệnh điều kiện đơn giản nhất của PHP và có thể được viết như sau:

if (điều kiện) {
    // Mã được thực thi
}

Ví dụ sau sẽ xuất ra "Chúc một ngày cuối tuần vui vẻ!" nếu ngày hiện tại là thứ sáu:

Ví dụ

<?php
$d = date("D");
if($d == "Fri"){
    echo "Chúc một ngày cuối tuần vui vẻ!";
}
?>

Câu lệnh if...else

Bạn có thể nâng cao quyết định quá trình ra bằng cách cung cấp một sự lựa chọn thay thế thông qua thêm một lệnh else với lệnh if . Câu lệnh if ... else cho phép bạn thực thi một khối mã nếu điều kiện được chỉ định được đánh giá là true và một khối mã khác nếu nó được đánh giá là false. Nó có thể được viết, như thế này:

if (điều kiện) {
    // Mã được thực thi nếu điều kiện là đúng
else {
    // Mã được thực hiện nếu điều kiện là sai
}

Ví dụ sau sẽ xuất ra "Chúc một ngày cuối tuần vui vẻ!" nếu ngày hiện tại là thứ sáu, nếu không nó sẽ xuất "Chúc một ngày tốt lành!"

Ví dụ

<?php
$d = date("D");
if($d == "Fri"){
    echo "Chúc một ngày cuối tuần vui vẻ!";
} else{
    echo "Chúc một ngày tốt lành!";
}
?>

Câu lệnh if...elseif...else

Câu lệnh if ... elseif ... else một tuyên bố đặc biệt được sử dụng để kết hợp nhiều câu lệnh if ... else.

if (condition1) {
    // Mã được thực thi nếu điều kiện1 là đúng
elseif (điều kiện2 ) {
    // Mã được thực thi nếu điều kiện1 là sai và điều kiện2 là đúng
else {
    // Mã được thực thi nếu cả điều kiện1 và điều kiện2 là sai
}

Ví dụ sau sẽ xuất ra "Chúc một ngày cuối tuần vui vẻ!" nếu ngày hiện tại là thứ sáu và "Chúc một chủ nhật vui vẻ!" nếu ngày hiện tại là Chủ nhật, nếu không nó sẽ xuất ra "Chúc một ngày tốt lành!"

Ví dụ

<?php
$d = date("D");
if($d == "Fri"){
    echo "Chúc một ngày cuối tuần vui vẻ!";
} elseif($d == "Sun"){
    echo "Chúc một chủ nhật vui vẻ!";
} else{
    echo "Chúc một ngày tốt lành!";
}
?>

Bạn sẽ tìm hiểu về câu lệnh switch-case trong PHP trong Lệnh Switch, Case trong PHP .

Toán tử bậc ba ?

Toán tử bậc ba cung cấp một cách viết tắt của câu lệnh if ... else . Toán tử bậc ba được biểu diễn bằng ký hiệu dấu hỏi ( ?) và cần ba toán hạng: một điều kiện để kiểm tra, một kết quả cho truevà một kết quả cho false.

Để hiểu cách hoạt động của toán tử này, hãy xem xét các ví dụ sau:

Ví dụ

<?php
if($age < 18){
    echo 'Child'; // Display Child if age is less than 18
} else{
    echo 'Adult'; // Display Adult if age is greater than or equal to 18
}
?>

Sử dụng toán tử bậc ba, mã tương tự có thể được viết theo cách nhỏ gọn hơn:

Ví dụ

<?php echo ($age < 18) ? 'Child' : 'Adult';
 ?>

Toán tử bậc ba trong ví dụ trên chọn giá trị ở bên trái dấu hai chấm (tức là 'Child') nếu điều kiện đánh giá là true (tức là nếu $agenhỏ hơn 18) và chọn giá trị ở bên phải dấu hai chấm (tức là ' Adult ') nếu điều kiện đánh giá là sai.

 

Mẹo: Mã được viết bằng toán tử bậc ba có thể khó đọc. Tuy nhiên, nó cung cấp một cách tuyệt vời để viết các câu lệnh if-else nhỏ gọn.


Toán tử liên kết Null trong PHP 7

PHP 7 giới thiệu một toán tử liên kết null mới ( ??) mà bạn có thể sử dụng làm tốc ký khi bạn cần sử dụng toán tử bậc ba kết hợp với hàm isset().

Để hiểu điều này một cách tốt hơn, hãy xem xét dòng mã sau. Nó tìm nạp giá trị của $_GET['name'], nếu nó không tồn tại hoặc NULL, nó trả về giá trị 'anonymous'.

Ví dụ

<?php
$name = isset($_GET['name']) ? $_GET['name'] : 'anonymous';
?>

Sử dụng toán tử liên kết null, mã tương tự có thể được viết như sau:

Ví dụ

<?php
$name = $_GET['name'] ?? 'anonymous';
?>

Như bạn có thể thấy, cú pháp sau này nhỏ gọn và dễ viết hơn.

Bài viết này đã giúp ích cho bạn?

Advertisements