PHP định nghĩa NULL là một trong những kiểu dữ liệu đặc biệt của nó. Nó chỉ ra rằng một biến nhất định chưa được gán giá trị cho bất kỳ kiểu dữ liệu cụ thể nào. Đây là một hằng số tích hợp sẵn trong PHP và được sử dụng để chỉ ra sự vắng mặt có chủ ý của bất kỳ đối tượng hoặc giá trị nào. Một biến có thể được gán rõ ràng giá trị NULL hoặc giá trị của nó có thể được đặt thành null bằng cách sử dụng hàm is_null().
PHP cung cấp một hàm Boolean is_null() để kiểm tra xem một biến có thực sự thuộc loại NULL hay không.
is_null(mixed $value): bool
Nếu bất kỳ biến nào được gán rõ ràng giá trị NULL, rõ ràng hàm is_null() sẽ trả về true .
<?php $x = NULL; echo "Variable \$x is null? "; var_dump(is_null($x)); ?>
Nó sẽ tạo ra output −
Variable $x is null? bool(true)
Nếu một biến với một giá trị nhất định bị hủy, thì hàm is_null() cũng trả về true, nhưng kèm theo một cảnh báo.
<?php $x = "Hello"; unset($x); echo "Variable \$x is null?\n"; var_dump(is_null($x)); ?>
Nó sẽ tạo ra output −
Variable $x is null? bool(true) PHP Warning: Undefined variable $x in /home/cg/root/89262/main.php on line 5
Tương tự, nếu bạn chỉ khai báo một biến mà không gán giá trị nào cho nó, hàm is_null() sẽ trả về true kèm theo một cảnh báo −
<?php $y; echo "Variable \$y is null?\n"; var_dump(is_null($y)); ?>
Nó sẽ tạo ra output −
Variable $y is null? bool(true) Warning: Undefined variable $y in hello.php on line 9
Bạn cũng có thể sử dụng toán tử so sánh bằng (==) để kiểm tra xem một biến có phải là NULL hay không.
<?php $x = NULL; if ($x === NULL) { echo '$x is NULL'; } else { echo '$x is not NULL'; } ?>
Nó sẽ tạo ra output −
$x is NULL
Một chuỗi null "" không được coi là bằng NULL. Do đó, hàm is_null() cũng như toán tử "==" trả về false . Hãy xem ví dụ sau −
<?php $y = ""; if ($y === NULL) { echo '$y is NULL'; } else { echo '$y is not NULL'; } echo "$y is null?\n"; var_dump(is_null($y)); ?>
Nó sẽ tạo ra output −
$y is not NULL is null? bool(false)
Hai hàm khác trong PHP có liên quan đến hàm is_null() là hàm isset() và hàm empty() .
Hàm isset() xác định xem một biến đã được khai báo và khác với NULL hay không.
isset(mixed $var, mixed ...$vars): bool
Một biến được gán giá trị NULL được coi là chưa được thiết lập.
<?php $x = NULL; echo '$x is set? '; var_dump(isset($x)); ?>
Nó sẽ tạo ra output −
$x is set? bool(false)
Lưu ý rằng ký tự null ("\0") không tương đương với hằng null trong PHP.
Hàm empty() kiểm tra xem một biến có được coi là rỗng hay không. Một biến được coi là rỗng nếu nó không tồn tại hoặc nếu giá trị của nó là NULL. Hàm empty() không tạo ra cảnh báo nếu biến không tồn tại.
Hãy xem xét ví dụ sau −
<?php $x = NULL; echo '$x is empty? '; var_dump(empty($x)); $y; echo '$y is empty? '; var_dump(empty($y)); ?>
Nó sẽ tạo ra output −
$x is empty? bool(true) $y is empty? bool(true)
Hàm empty() trả về true nếu một biến được thiết lập là "0", NULL, hoặc không được thiết lập.
<?php $var = 0; if (empty($var)) { echo '$var is either 0, empty, or not set at all'; } ?>
Nó sẽ tạo ra output −
$var is either 0, empty, or not set at all