empty 检查一个变量是否为空
发表日期:2021-07-01 08:57:21 | 来源: | | 浏览(1095) 分类:变量处理 函数
empty
(PHP 4, PHP 5, PHP 7, PHP 8)
empty — 检查一个变量是否为空
说明
$var
): bool
判断一个变量是否被认为是空的。当一个变量并不存在,或者它的值等同于false
,那么它会被认为不存在。如果变量不存在的话,empty()并不会产生警告。
参数
-
var
-
待检查的变量
注意:
在 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 |
检查非数字的字符串偏移量会返回 |
范例
示例 #1 一个简单的 empty() 与 isset() 的比较。
<?php $var = 0; // Evaluates to true because $var is emptyif (empty($var)) { echo '$var is either 0, empty, or not set at all'; } // Evaluates as true because $var is setif (isset($var)) { echo '$var is set even though it is empty'; } ?>
示例 #2 在字符串偏移量上使用empty()
PHP 5.4 修改了当传入的是字符串偏移量时, empty() 的行为
<?php $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)
参见
- isset() - 检测变量是否已设置并且非 null
- __isset()
- unset() - 释放给定的变量
- array_key_exists() - 检查数组里是否有指定的键名或索引
- count() - 计算数组中的单元数目,或对象中的属性个数
- strlen() - 获取字符串长度
- The type comparison tables
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- boolval 获取变量的布尔值(0)
- debug_zval_dump Dumps a string representation of an internal zval structure to output(0)
- doubleval floatval() 的别名(0)
- empty 检查一个变量是否为空(0)
- floatval 获取变量的浮点值(0)
- get_debug_type Gets the type name of a variable in a way that is suitable for debugging(0)
- get_defined_vars 返回由所有已定义变量所组成的数组(0)
- get_resource_id Returns an integer identifier for the given resource(0)
- get_resource_type 返回资源(resource)类型(0)
- gettype 获取变量的类型(0)
- intval 获取变量的整数值(0)
- is_array 检测变量是否是数组(0)
- is_bool 检测变量是否是布尔值(0)
- is_callable 检测参数是否为合法的可调用结构(0)
- is_countable Verify that the contents of a variable is a countable value(0)
- is_double is_float() 的别名(0)
- is_float 检测变量是否是浮点型(0)
- is_int 检测变量是否是整数(0)
- is_integer is_int() 的别名(0)
- is_iterable Verify that the contents of a variable is an iterable value(0)
- is_long is_int() 的别名(0)
- is_null 检测变量是否为 null(0)
- is_numeric 检测变量是否为数字或数字字符串(0)
- is_object 检测变量是否是一个对象(0)
- is_real is_float() 的别名(0)
- is_resource 检测变量是否为资源类型(0)
- is_scalar 检测变量是否是一个标量(0)
- is_string 检测变量是否是字符串(0)
- isset 检测变量是否已设置并且非 null(0)
- print_r 以易于理解的格式打印变量。(0)
- serialize 产生一个可存储的值的表示(0)
- settype 设置变量的类型(0)
- strval 获取变量的字符串值(0)
- unserialize 从已存储的表示中创建 PHP 的值(0)
- unset 释放给定的变量(0)
- var_dump 打印变量的相关信息(0)
- var_export 输出或返回一个变量的字符串表示(0)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)