Home  >  Article  >  Backend Development  >  Analysis: The difference between php empty and empty string

Analysis: The difference between php empty and empty string

WBOY
WBOYOriginal
2016-07-25 08:57:071003browse
  1. Variable empty is_null isset
  2. $a=”” true false true
  3. $a=null true true false
  4. var $a true true false
  5. $a=array() true false true
  6. $a=false true false true
  7. $a=15 false false true
  8. $a=1 false false true
  9. $a=0 true false true
  10. $a=”0” true false true
  11. $a=”true” false false true
  12. $a=” false” false false true
Copy code

As long as the variable is " " or 0, or false and null, empty will return true as long as these values ​​​​are, and isset determines whether the variable exists, as long as you have this variable If it is not null or unassigned, the return result is true, and is_null is the opposite result of isset.

Contact: Assume $var is any type. When empty($var) is true, (bool)($var) is false. vice versa. same, When is_null($var) is true , isset($var) is false . vice versa. if: $i=$j+1; here is_null($j) is true

Visible: isset is used to determine undefined situations. Empty can determine whether it is undefined or defined, but empty or 0. Is_null can be seen as the inverse function of isset If ($expression) can be seen as the inverse function of empty When the content to be judged is an array, only one case is listed in the table.

Add two situations that are easy to misunderstand:

  1. $b[]=null;
  2. $b[]=null;
  3. //The array is considered to exist and is not empty
  4. $c[]="";
  5. $ c[]="";
  6. //Assume that the array already exists and is not empty
  7. ?>
Copy code

empty (PHP 3, PHP 4, PHP 5) empty -- Check if a variable is empty describe bool empty (mixed var)

If var is a non-empty or non-zero value, empty() returns FALSE. In other words, "" , 0 , "0" , NULL , FALSE , array() , var $var ; and objects without any attributes will be considered empty, and TRUE will be returned if var is empty.

In addition to not generating a warning when the variable is not set, empty() is the antonym of (boolean) var. See Converting to Boolean for more information. A simple comparison of empty() and isset().

  1. $var = 0;
  2. //The result is true because $var is empty
  3. if (empty($var)) {
  4. echo '$var is either 0 or not set at all';
  5. }
  6. // The result is false because $var is set
  7. if (!isset($var)) {
  8. echo '$var is not set at all';
  9. }
  10. ?>
Copy Code

Note: Since this is a language structure rather than a function, it cannot be called by variable functions. Note: empty() only tests variables, testing anything that is not a variable will result in a parsing error. In other words, the following statement will not work: empty(addslashes($name)). isset (PHP 3, PHP 4, PHP 5) isset -- Check whether a variable is set describe bool isset ( mixed var [, mixed var [, ...]] )

Returns TRUE if var exists, otherwise returns FALSE. If a variable has been freed using unset(), it will no longer be isset(). If you use isset() to test a variable that is set to NULL, it will return FALSE. Also note that a NULL byte (" Warning: isset() can only be used with variables, as passing any other arguments will cause a parsing error. If you want to detect whether a constant has been set, use the defined() function. is_null (PHP 4 >= 4.0.4, PHP 5) is_null -- Check whether a variable is NULL describe bool is_null (mixed var)

Returns TRUE if var is null, otherwise returns FALSE. Look at the NULL type to learn when a variable is considered NULL and when it is not.



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn