PHPisset () function and empty () function are different. Empty checks whether a variable is null, and isset determines whether a variable has been set. Just as the name implies, I took some detours at the beginning: When a variable value is equal to 0, empty checks whether a variable is "empty ", isset checks whether a variable has been set. This so-called "name implies" leads me to a detour: When a variable value is equal to 0, empty () will also be True)
Empty checks whether a variable is "null", and isset checks whether a variable has been set. This so-called "name implies" makes me take some detours at the beginning: When a variable value is equal to 0, empty () will also be true ), as a result, some accidents may occur. Originally, although empty and isset are both variable processing functions, they are used to determine whether the variables have been configured, but they are different: empty also checks whether the variables are empty and zero. When the value of a variable is 0, empty considers this variable to be null, that is, it is equivalent to not being set.
For example, if the $ id variable is detected and $ id = 0, empty and isset are used to check whether the variable $ id has been configured. different values will be returned for both -- empty considers no configuration, isset can get the value of $ id:
$ Id = 0;
Empty ($ id )? Print "it's empty.": print "it's $ id .";
// Result: it's empty.
Print"
";
! Isset ($ id )? Print "it's empty.": print "it's $ id .";
// Result: it's 0.
This means that when we use a variable to process a function, when the variable may have a value of 0, we should be careful when using empty. in this case, it is more wise to replace it with isset.
When the url tail parameter of a php Tutorial page shows id = 0 (for example, test. php? Id = 0), try to compare:
If (empty ($ id) $ id = 1;-if id = 0, the id is also 1
If (! Isset ($ id) $ id = 1;-if id = 0, id is not 1
Run the following code separately to detect the above inference:
If (empty ($ id) $ id = 1;
Print $ id; // Get 1
If (! Isset ($ id) $ id = 1;
Print $ id; // get 0
View instances
$ Var = 0;
// The result is true because $ var is null.
If (empty ($ var )){
Echo '$ var is either 0 or not set at all ';
}
// The result is false because $ var has been set.
If (! Isset ($ var )){
Echo '$ var is not set at all ';
}
?>
Because this is a language structure rather than a function, it cannot be called by variable functions.
Note: empty () only detects variables, and any non-variables can cause parsing errors. In other words, the following statement does not work: empty (addslashes ($ name )).
The following is the code of a detailed example of isset and empty functions tested by the script house. after reading this, it is almost the same.
Error_reporting (e_all );
Echo'Undefined $ var
';
Echo "isset test:
";
If (isset ($ var ))
{
Echo 'variable $ var exists!
';
}
Echo "empty test:
";
If (empty ($ var )){
Echo 'variable $ var value is empty
';
}
Else
{
Echo 'variable $ var value is not empty
';
}
Echo "direct test of variables:
";
If ($ var ){
Echo 'variable $ var exists!
';
}
Else {
Echo 'variable $ var does not exist!
';
}
Echo '----------------------------------
';
Echo'$ Var =''
';
Echo "isset test:
";
$ Var = '';
If (isset ($ var ))
{
Echo 'variable $ var exists!
';
}
Echo "empty test:
";
If (empty ($ var )){
Echo 'variable $ var value is empty
';
}
Else
{
Echo 'variable $ var value is not empty
';
}
Echo "direct test of variables:
";
If ($ var ){
Echo 'variable $ var exists!
';
}
Else {
Echo 'variable $ var does not exist!
';
}
Echo '----------------------------------
';
Echo'$ Var = 0
';
Echo 'isset test:
';
$ Var = 0;
If (isset ($ var ))
{
Echo 'variable $ var exists!
';
}
Echo "empty test:
";
If (empty ($ var )){
Echo 'variable $ var value is empty
';
}
Else
{
Echo 'variable $ var value is not empty
';
}
Echo "direct test of variables:
";
If ($ var ){
Echo 'variable $ var exists!
';
}
Else {
Echo 'variable $ var does not exist!
';
}
Echo '----------------------------------
';
Echo'$ Var = null
';
Echo 'isset test:
';
$ Var = null;
If (isset ($ var ))
{
Echo 'variable $ var exists!
';
}
Echo "empty test:
";
If (empty ($ var )){
Echo 'variable $ var value is empty
';
}
Else
{
Echo 'variable $ var value is not empty
';
}
Echo "direct test of variables:
";
If ($ var ){
Echo 'variable $ var exists!
';
}
Else {
Echo 'variable $ var does not exist!
';
}
Echo '----------------------------------
';
Echo'$ Var = "php"
';
Echo 'isset test:
';
$ Var = "php ";
If (isset ($ var ))
{
Echo 'variable $ var exists!
';
}
Echo "empty test:
";
If (empty ($ var )){
Echo 'variable $ var value is empty
';
}
Else
{
Echo 'variable $ var value is not empty
';
}
Echo "direct test of variables:
";
If ($ var ){
Echo 'variable $ var exists!
';
}
Else {
Echo 'variable $ var does not exist!
';
}
?>
The http://www.bkjia.com/PHPjc/445423.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/445423.htmlTechArticleempty determines whether a variable is null, and the isset determines whether a variable has been set. Just as the name implies, I took some detour at the beginning: When a variable value is equal to 0 ,...