Isset VS Empty In PHP

Today I will walk through the difference between isset & empty , build in functions in PHP.


It checks the variable to see if it has been set, in other words, it checks to see if the variable is any value except NULL or not assigned a value. ISSET returns TRUE if the variable exists and has a value other than NULL. That means variables assigned a ” “, 0, “0”, or FALSE are set, and therefore are TRUE for ISSET.


It checks to see if a variable is empty. Empty is interpreted as: ” ” (an empty string), 0 (0 as an integer), 0.0 (0 as a float), “0” (0 as a string), NULL, FALSE, array() (an empty array), and “$var;” (a variable declared, but without a value in a class.)

Lets do some comparisons.

Non declared variable

Null Variable

Empty String

This will be the same result for zero case.

Boolean value

Isset . Will Return TRUE For Both Cases

Empty Array

$arr = [];
The result will be true for both isset and empty

Empty object

Note: Isset only accepts single variable within its parenthesis. Passing others will proceed to error. For example
isset(strtoupper($var)) – this will proceed to error.

By Yuuma




tel. 06-6454-8833(平日 10:00~17:00)