isset 检测变量是否已设置并且非 null
发表日期:2021-07-01 08:57:22 | 来源: | | 浏览(1035) 分类:变量处理 函数
isset
(PHP 4, PHP 5, PHP 7, PHP 8)
isset — 检测变量是否已设置并且非 null
说明
$var
, mixed $...
= ?): bool
检测变量是否设置,并且不是 null
。
如果已经使用 unset()
释放了一个变量之后,它将不再是
isset()。若使用 isset()
测试一个被设置成 null
的变量,将返回 false
。同时要注意的是 null 字符("\0"
)并不等同于
PHP 的 null
常量。
如果一次传入多个参数,那么
isset() 只有在全部参数都以被设置时返回 true
计算过程从左至右,中途遇到没有设置的变量时就会立即停止。
参数
-
var
-
要检查的变量。
-
...
-
其他变量。
返回值
如果 var
存在并且值不是 null
则返回 true
,否则返回 false
。
更新日志
版本 | 说明 |
---|---|
5.4.0 |
检查字符的非数字偏移量将会返回 |
范例
示例 #1 isset() 例子
<?php $var = ''; // 结果为 TRUE,所以后边的文本将被打印出来。if (isset($var)) { echo "This var is set so I will print."; } // 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。// the return value of isset().$a = "test"; $b = "anothertest"; var_dump(isset($a)); // TRUEvar_dump(isset($a, $b)); // TRUEunset ($a); var_dump(isset($a)); // FALSEvar_dump(isset($a, $b)); // FALSE$foo = NULL; var_dump(isset($foo)); // FALSE?>
这对于数组中的元素也同样有效:
<?php $a = array ('test' => 1, 'hello' => NULL, 'pie' => array('a' => 'apple')); var_dump(isset($a['test'])); // TRUEvar_dump(isset($a['foo'])); // FALSEvar_dump(isset($a['hello'])); // FALSE// 键 'hello' 的值等于 NULL,所以被认为是未置值的。// 如果想检测 NULL 键值,可以试试下边的方法。 var_dump(array_key_exists('hello', $a)); // TRUE// Checking deeper array valuesvar_dump(isset($a['pie']['a'])); // TRUEvar_dump(isset($a['pie']['b'])); // FALSEvar_dump(isset($a['cake']['a']['b'])); // FALSE?>
示例 #2 在字符串位移中使用 isset()
PHP 5.4 改变了传入字符串位移时 isset() 的行为。
<?php $expected_array_got_string = 'somestring'; var_dump(isset($expected_array_got_string['some_key'])); var_dump(isset($expected_array_got_string[0])); var_dump(isset($expected_array_got_string['0'])); var_dump(isset($expected_array_got_string[0.5])); var_dump(isset($expected_array_got_string['0.5'])); var_dump(isset($expected_array_got_string['0 Mostel'])); ?>
以上例程在 PHP 5.3 中的输出:
bool(true) bool(true) bool(true) bool(true) bool(true) bool(true)
以上例程在 PHP 5.4 中的输出:
bool(false) bool(true) bool(true) bool(true) bool(false) bool(false)
注释
isset() 只能用于变量,因为传递任何其它参数都将造成解析错误。若想检测常量是否已设置,可使用 defined() 函数。
注意: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。
注意:
如果使用 isset() 来检查对象无法访问的属性,如果 __isset() 方法已经定义则会调用这个重载方法。
参见
- empty() - 检查一个变量是否为空
- __isset()
- unset() - 释放给定的变量
- defined() - 检查某个名称的常量是否存在
- the type comparison tables
- array_key_exists() - 检查数组里是否有指定的键名或索引
- is_null() - 检测变量是否为 null
- 错误控制 @ 运算符。
- 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)