Computer >> Máy Tính >  >> Lập trình >> PHP

Sự khác biệt giữa toán tử bậc ba và toán tử liên hợp Null trong php

Toán tử bậc ba

Toán tử bậc ba được sử dụng để thay thế các câu lệnh if else thành một câu lệnh.

Cú pháp

(condition) ? expression1 : expression2;

Biểu thức tương đương

if(condition) {
   return expression1;
}
else {
   return expression2;
}

Nếu điều kiện là đúng, thì nó trả về kết quả của biểu thức1 nếu không nó trả về kết quả của biểu thức2. void không được phép trong điều kiện hoặc biểu thức.

Toán tử liên hợp rỗng

Toán tử liên kết rỗng được sử dụng để cung cấp giá trị không phải null trong trường hợp biến là null.

Cú pháp

(variable) ?? expression;

Biểu thức tương đương

if(isset(variable)) {
   return variable;
}
else {
   return expression;
}

Nếu biến là null, thì nó trả về kết quả của biểu thức.

Ví dụ

<!DOCTYPE html>
<html>
<head>
   <title>PHP Example</title>
</head>
<body>
   <?php
      // fetch the value of $_GET['user'] and returns 'not passed'
      // if username is not passed
      $username = $_GET['username'] ?? 'not passed';
      print($username);
      print("<br/>");
      // Equivalent code using ternary operator
      $username = isset($_GET['username']) ? $_GET['username'] : 'not passed';
      print($username);
      print("<br/>");
   ?>
</body>
</html>

Đầu ra

not passed
not passed