PHP判空

PHP中经常需要判断变量是否为空(这里“空”的概念包括是否为“”和是否为null),初学者对变量判断用法比较模糊,以下将对比几个判空概念。

empty()

empty() 用于检测一个变量是否为空,如果被检测的变量为空则返回 TRUE,否则返回 FALSE 。
语法:

bool empty( mixed var )

例子:

<?php
$var = "";
if(empty($var)){
    echo '变量 $var 为空';
} else {
    echo '变量 $var 不为空';
}
?>

输出结果:

变量 $var 为空

注意:empty()只能用于检测变量

提示:以下是empty()返回true的情况

// 变量没有值
$var = "";

// 变量值为 0 或 "0"
$var = 0;
$var = "0";

// 空数组
$var = array();

// 变量被设置为 null
$var = null;

// 变量被设置为 false
$var = false;

// 被 unset() 函数释放了的变量
unset($var);

// 类里变量被 var 关键字声明,但尚未设定
var $var;

isset()

isset() 用于检测一个或多个变量是否设置,如果被检测的变量存在则返回 TRUE,否则返回 FALSE。
语法:

bool isset( mixed var [, mixed var [, ...]] )

如果检测多个变量时,只要其中一个变量存在,则检测结果就会返回 TRUE 。
例子:

<?php
$var = 1;
if(isset($var)){
    echo '变量 $var 已经被设置';
} else {
    echo '变量 $var 还未被设置';
}
?>

输出结果:

变量 $var 已经被设置

注意:isset() 只能用于检测变量,传递任何其它参数都将造成解析错误。

提示:下述情况isset()返回false

// 变量被设置为 null
$var = null;

// 被 unset() 释放了的变量
unset($var);

// 类里变量被 var 关键字声明,但尚未设定
var $var;

下述情况isset()返回true

$var = "";
$var = array();
$var = 0;
$var = false;

附:empty()和isset()的比较:

empty()isset()bool
$var = “”truetruefalse
$var = nulltruefalsefalse
$var = FALSEtruetruefalse
var $vartruefalsefalse
$var = array()truetruefalse
$var = 0truetruefalse
$var = “0”truetruefalse

可见 empty() 是比 isset() 对变量更严格的检查。


is_null()

is_null() 函数检测变量是否为 NULL ,如果变量是 NULL 则返回 TRUE,否则返回 FALSE。
例子:

<?php
$var = NULL;
if(is_null($var)){
    echo '$var 为 NULL';
} else {
    echo '$var 变量非 NULL';
}
?>

输出结果:

$var 变量为 NULL
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值