php判断某个变量是否为空,检查一个变量是否为空 - PHP 7 中文文档

(PHP 4, PHP 5, PHP 7)

empty – 检查一个变量是否为空

说明

empty

( [mixed](php7/language.pseudo-types) $var

) : bool

判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于FALSE,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。

参数

var

待检查的变量

Note:

在 PHP 5.5 之前,empty() 仅支持变量;任何其他东西将会导致一个解析错误。换言之,下列代码不会生效: empty(trim($name))。

作为替代,应该使用trim($name) == false.

没有警告会产生,哪怕变量并不存在。

这意味着 empty() 本质上与 !isset($var) || $var == false 等价。

返回值

当var存在,并且是一个非空非零的值时返回 FALSE

否则返回 TRUE.

以下的东西被认为是空的:

"" (空字符串)

0 (作为整数的0)

0.0 (作为浮点数的0)

"0" (作为字符串的0)

NULL

FALSE

array() (一个空数组)

$var; (一个声明了,但是没有值的变量)

更新日志

版本

说明

5.5.0

empty() 现在支持表达式了,而不仅仅是变量。

5.4.0

检查非数字的字符串偏移量会返回 TRUE.

范例

Example #1

一个简单的 empty() 与 [isset()](php7/function.isset) 的比较。

$var = 0;

// Evaluates to true because $var is empty

if (empty($var)) {

echo '$var is either 0, empty, or not set at all';

}

// Evaluates as true because $var is set

if (isset($var)) {

echo '$var is set even though it is empty';

}

?>

Example #2 在字符串偏移量上使用empty()

PHP 5.4 修改了当传入的是字符串偏移量时, empty() 的行为

$expected_array_got_string = 'somestring';

var_dump(empty($expected_array_got_string['some_key']));

var_dump(empty($expected_array_got_string[0]));

var_dump(empty($expected_array_got_string['0']));

var_dump(empty($expected_array_got_string[0.5]));

var_dump(empty($expected_array_got_string['0.5']));

var_dump(empty($expected_array_got_string['0 Mostel']));

?>

以上例程在PHP 5.3中的输出:

bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

bool(false)

以上例程在PHP 5.4中的输出:

bool(true)

bool(false)

bool(false)

bool(false)

bool(true)

bool(true)

注释

Note: 因为是一个语言构造器而不是一个函数,不能被

[可变函数](php7/functions.variable-functions) 调用。

Note:

当对一个不可见的对象属性使用 empty() 时,

[__isset()](php7/language.oop5.overloading)

方法如果存在的话,它将会被调用。

参见

[isset()](php7/function.isset) – 检测变量是否已设置并且非 NULL

[__isset()](php7/language.oop5.overloading)

[unset()](php7/function.unset) – 释放给定的变量

[array_key_exists()](php7/function.array-key-exists) – 检查数组里是否有指定的键名或索引

[count()](php7/function.count) – 计算数组中的单元数目,或对象中的属性个数

[strlen()](php7/function.strlen) – 获取字符串长度

[The type comparison tables](php7/types.comparisons)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值