您的位置:首页 > 编程语言 > PHP开发

PHP isset() vs empty() vs is_null()

2016-03-30 10:26 579 查看

PHP isset() vs empty() vs is_null()

By
Virendra Chandak onJanuary 21, 2012
Leave a commentGo
to comments (50)

PHP has different functions which can be used to test the value of a variable. Three useful functions for this areisset(),
empty() and is_null(). All these function return a boolean value. If these functions are not used in correct way they can cause unexpected results.

isset() and empty() are often viewed as functions that are opposite, however this is not always true. In this post I will explain the differences between these functions.

isset()

From
PHP manual – isset():

isset — Determine if a variable is set and is not NULL

In other words, it returns true only when the variable is
not null
.

empty()

From
PHP Manual – empty():

empty — Determine whether a variable is empty

In other words, it will return true if the variable is an empty string, false, array(), NULL, “0?, 0, and an unset variable.

is_null()

From
PHP Manual – is_null():

is_null — Finds whether a variable is NULL

In other words, it returns true only when the variable is
null
. is_null() is opposite of isset(), except for one difference that isset() can be applied to unknown variables, but is_null() only to declared variables.

The table below is an easy reference for what these functions will return for different values. The blank spaces means the function returnsbool(false).
Value of variable ($var)isset($var)empty($var)is_null($var)
“” (an empty string)bool(true)bool(true) 
” ” (space)bool(true)  
FALSEbool(true)bool(true) 
TRUEbool(true)  
array() (an empty array)bool(true)bool(true) 
NULL bool(true)bool(true)
“0” (0 as a string)bool(true)bool(true) 
0 (0 as an integer)bool(true)bool(true) 
0.0 (0 as a float)bool(true)bool(true) 
var $var; (a variable declared, but without a value) bool(true)bool(true)
NULL byte (“\ 0”)bool(true)  
I have tested the above values in following PHP versions:

PHP 7.0.4
PHP 5.6.19
PHP 5.5.33

View Demo
Download Source Code

Share this:

Tweet

Pocket

Related Posts

Get search query string from search engines using PHP
How to apply a function to every array element in PHP
PHP 7 – Null Coalesce Operator
Getting real client IP address in PHP

PHP,Web
Development
empty,isset,

is_null,
PHP

← Make a div stick to top when scrolled to
Get search query string from search engines using PHP→

Leave a comment ?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: