Home > Article > Backend Development > Analyze the difference between empty(), isset() and is_null() in PHP
There has been a lot of discussion about the usage of empty(), isset() and is_null() functions of PHP, and a lot of information may not be very clear. I repeat it here again, but instead of speaking from concepts, it should be more profound to memorize it by directly using program examples.
The types of tests are as follows:
<?php $a; $b = false; $c = ''; $d = 0; $e = null; $f = array(); ?>
The first is the var_dump output of empty:
<?php var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(empty($d)); var_dump(empty($e)); var_dump(empty($f)); ?>
The program output is:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
As can be seen from the code, empty() will output true as long as the data type is empty or false.
Look at the output of isset:
var_dump(isset($a)); var_dump(isset($b)); var_dump(isset($c)); var_dump(isset($d)); var_dump(isset($e)); var_dump(isset($f)); // 输出 bool(false) bool(true) bool(true) bool(true) bool(false) bool(true)
It can be seen that isset() can only be used to determine whether it is NULL and undefined.
Finally, the output of is_null:
var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); var_dump(is_null($d)); var_dump(is_null($e)); var_dump(is_null($f)); // 输出 bool(true) bool(false) bool(false) bool(false) bool(true) bool(false)
is_null is literal.
It can be seen that empty() can be used to determine whether all data types are empty or false, while is_null is basically the same as isset and can only be used to determine whether it is NULL and undefined
The above is the detailed content of Analyze the difference between empty(), isset() and is_null() in PHP. For more information, please follow other related articles on the PHP Chinese website!