Let's talk about what they have in common:
Can determine whether a variable is empty;
Returns a Boolean type, which is either true or false.
Here's a specific distinction between their usage:
Isset () is used to detect if a variable is set and can only be used for variables, because passing any other parameter will result in parsing errors. To detect if a constant is set, use the defined () function. If a variable has been freed with unset (), it will no longer be isset (). If you use Isset () to test a variable that is set to NULL, FALSE is returned. (Note that a null byte ("s") is not equivalent to a null constant in PHP)
Empty () is used to check if a variable is empty.
The biggest difference between them is the judgment of 0, if using empty to judge will think is empty, use isset to think is not empty
The difference between empty () and isset () in PHP