background image

PHP 中判断变量为空的几种方法分享

判断变量为空,在许多场合都会用到,同时自己和许多新手一样也经常会犯一些错误,所
以自己整理了一下

PHP 中一些常用的、判断变量为空的方法

1. isset
功能:判断变量是否被初始化

  

说明:它并不会判断变量是否为空,并且可以用来判断数组中元素是否被定义过

  

注意:当使用

isset 来判断数组元素是否被初始化过时,它的效率比

array_key_exists

4 倍

左右
代码如下

:

 

$a

 = '';

$a

['c'] = '';

if

 (!isset(

$a

)) 

echo

 '$a 未被初始化' . "";

if

 (!isset(

$b

)) 

echo

 '$b 未被初始化' . "";

if

 (isset(

$a

['c'])) 

echo

 '$a 已经被初始化' . "";

// 显示结果为
// $b 未被初始化
// $a 已经被初始化

 
2. 

empty

功能:检测变量是否为

“空”

说明:任何一个未初始化的变量、值为

 0 或 false 或 空字符串”" 或 null 的变量、空数组、没有

任何属性的对象,都将判断为

empty

==true 

注意

1:未初始化的变量也能被

empty

检测为

“空”

注意

2:

empty

只能检测变量,而不能检测语句

代码如下

:

 

$a

 = 0;

$b

 = '';

$c

 = 

array

();

if

 (

empty

(

$a

)) 

echo

 '$a 为空' . "";

if

 (

empty

(

$b

)) 

echo

 '$b 为空' . "";

if

 (

empty

(

$c

)) 

echo

 '$c 为空' . "";

if

 (

empty

(

$d

)) 

echo

 '$d 为空' . "";

 
3. 

var

 == null

功能:判断变量是否为

“空” 

说明:值为

 0 或 false 或 空字符串”" 或 null 的变量、空数组、都将判断为 null

注意:与

empty

的显著不同就是:变量未初始化时

 

var

 == null 将会报错。

代码如下

: