Php isset so với toán tử hợp nhất null

Bản tóm tắt. trong hướng dẫn này, bạn sẽ tìm hiểu về toán tử hợp nhất Null trong PHP để gán giá trị cho một biến nếu biến đó không tồn tại hoặc null

Giới thiệu về toán tử hợp nhất null PHP

Khi làm việc với các biểu mẫu, bạn thường cần kiểm tra xem một biến có tồn tại trong $_GET hoặc $_POST hay không bằng cách sử dụng toán tử bậc ba kết hợp với cấu trúc isset(). Ví dụ

$name = isset($_POST['name']) ? $_POST['name]: '';

Code language: PHP (php)

Ví dụ này gán

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
0 cho biến

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
1 nếu

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
0 tồn tại và không null. Mặt khác, nó gán

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
3 cho biến

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
1

Để thuận tiện hơn, PHP 7. 0 đã thêm hỗ trợ cho toán tử hợp nhất null là đường cú pháp của toán tử ternary và isset()

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)

Trong ví dụ này,

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
6 là toán tử hợp nhất null. Nó chấp nhận hai toán hạng. Nếu toán hạng đầu tiên là null hoặc không tồn tại, toán tử hợp nhất null trả về toán hạng thứ hai. Nếu không, nó trả về cái đầu tiên

Trong ví dụ trên, nếu biến

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
7 không tồn tại trong mảng $_POST hoặc nó là null, thì toán tử

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
6 sẽ gán chuỗi

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
0 cho biến

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
1. Xem ví dụ sau

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)

Như bạn có thể thấy rõ từ đầu ra, toán tử

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
6 giống như một cánh cổng không cho phép null đi qua

Xếp chồng các toán tử hợp nhất PHP Null

PHP cho phép bạn xếp chồng các toán tử hợp nhất null. Ví dụ

$name = $fullname ?? $first ?? $last ?? 'John'; echo $name; // 'John';

Code language: PHP (php)

Trong ví dụ này, vì

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
3,

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
4 và

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
5 không tồn tại nên

$name = $_POST['name'] ?? 'John';

Code language: PHP (php)
1 sẽ nhận giá trị

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
0

Toán tử gán hợp nhất null PHP

Ví dụ sau sử dụng toán tử kết hợp null để gán

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
8 cho

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
9 nếu nó là

$name = $fullname ?? $first ?? $last ?? 'John'; echo $name; // 'John';

Code language: PHP (php)
0 hoặc không tồn tại

$counter = $counter ?? 0;

Code language: PHP (php)

Câu lệnh trên lặp lại biến

var_dump(false ?? 'default'); // false var_dump(true ?? 'default'); // true var_dump('' ?? 'default'); // "" var_dump(0 ?? 'default'); // 0 var_dump([] ?? 'default'); // array() var_dump(null ?? 'default'); // default

Code language: PHP (php)
9 hai lần. Để làm cho nó ngắn gọn hơn, PHP 7. 4 đã giới thiệu toán tử gán hợp nhất null (

$name = $fullname ?? $first ?? $last ?? 'John'; echo $name; // 'John';

Code language: PHP (php)
2)

$counter ??= 0;

Code language: PHP (php)

Trong ví dụ này,

$name = $fullname ?? $first ?? $last ?? 'John'; echo $name; // 'John';

Code language: PHP (php)
2 là toán tử gán hợp nhất null. Nó gán toán hạng bên phải cho toán hạng bên trái nếu toán hạng bên trái là null. Nếu không, toán tử gán kết hợp sẽ không làm gì cả

Nó tương đương như sau

if(!isset($counter)) { $counter = 0; }

Code language: PHP (php)

Trong thực tế, bạn sẽ sử dụng toán tử gán hợp nhất null để gán giá trị mặc định cho một biến nếu nó là null

Toán tử PHP nào được gọi là toán tử hợp nhất null?

Toán tử kết hợp null ¶ . Nó trả về toán hạng đầu tiên của nó nếu nó tồn tại và không phải là null ; . // nếu nó không tồn tại. // 'không ai'. ( ?? ) has been added as syntactic sugar for the common case of needing to use a ternary in conjunction with isset(). It returns its first operand if it exists and is not null ; otherwise it returns its second operand. // if it does not exist. // 'nobody'.

Sự khác biệt giữa toán tử ternary và null kết hợp PHP là gì?

Toán tử bậc ba là toán tử điều kiện giúp cắt giảm số dòng trong mã hóa khi thực hiện so sánh và điều kiện . Đây là một phương pháp khác để sử dụng các câu lệnh if other và if other lồng nhau. Thứ tự thực hiện từ trái qua phải.

Sự khác biệt giữa toán tử hợp nhất null và toán tử Elvis là gì?

Toán tử Elvis đã được giới thiệu trong PHP 5. 3. Trong ghi chú phát hành, nó được giới thiệu là "lối tắt bậc ba", đây là một mô tả khá hay về chức năng của nó. Mặt khác, toán tử kết hợp null đánh giá liệu toán hạng đầu tiên có tồn tại và không phải là null .

PHP kết hợp null là gì?

Redis và PHP . Nó được dùng để thay thế phép toán bậc ba kết hợp với hàm isset() . Toán tử hợp nhất Null trả về toán hạng đầu tiên của nó nếu nó tồn tại và không phải là NULL; .