difference between isset and empty php code example

Example: php isset vs empty

/* isset() should be used to determine if a variable or element of an array 
is considered set (i.e. if a variable or element of an array is declared
and is different than null). Returns true if a variable or element of
an array exists and has any value other than null, false otherwise.

empty() should be used to determine whether a variable or an array
is considered to be empty. Returns true for a falsey (falsy)[*] (i.e. if
a variable is zero-length string '' or boolean false or numeric 0 or null
and if an array has no elements), false otherwise.
NB! empty() also returns true for non-existing variable since
such variable is considered falsey (falsy) */

var_dump(empty($nonExistingVariable)); /* true */
var_dump(isset($nonExistingVariable)); /* false */

$nullVariable = null;
var_dump(empty($nullVariable)); /* true */
var_dump(isset($nullVariable)); /* false */

$zeroVariable = 0;
var_dump(empty($zeroVariable)); /* true */
var_dump(isset($zeroVariable)); /* true */

$emptyArray = [];
var_dump(empty($emptyArray)); /* true */
var_dump(isset($emptyArray)); /* true */

$nonEmptyString = 'Non-empty string';
var_dump(empty($nonEmptyString)); /* false */
var_dump(isset($nonEmptyString)); /* true */

/* [*]Falsey (falsy) is anything equivalent to false. I.e., variable or 
array is falsey (falsy) if it casts to boolean as false.

(bool) $someVariable === false
(bool) $someArray === false */

Tags:

Php Example