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:
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().
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. |