Isset VS Empty In PHP

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

Iseet

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.

Empty

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

isset($novar) – Return FALSE
empty($novar) – Return TRUE

Null Variable

$null = NULL; 
isset ($null) - Return FALSE 
empty ($null) - Return TRUE

Empty String

$emptyString = ""; 
isset($emptyString) - Return TRUE 
empty($emptyString) - Return TRUE 

This will be the same result for zero case.

Boolean value

$tbl = TRUE; 
$fbl = FALSE; 

Isset . Will Return TRUE For Both Cases
Empty

empty($tbl) - Return FALSE 
empty($fbl) - Return TRUE

Empty Array

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

Empty object

$obj = new stdClass (); 
isset ($obj) – return TRUE 
empty ($obj) – return FALSE

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)

お問い合わせフォーム