There has been a lot of discussion about the usage of PHP's empty(), isset() and is_null() functions, 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:
First is the var_dump output of empty:
As can be seen from the code, empty() outputs true as long as the data type is empty or false.
isset()
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));
// Output
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.
is_null()
Finally is 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));
// Output
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.