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 将会报错。
代码如下
: