今天在做ctf题时,遇到了这个函数,当时不知道这个函数什么意思,所以就百度了一下:
inset函数,
是PHP语言的一个函数,其用法是用来检测变量是否设置的
语法
bool isset ( mixed $var [, mixed $... ] )
检测变量是否设置,并且不是 NULL。
如果已经使用 unset() 释放了一个变量之后,它将不再是 isset()。若使用 isset() 测试一个被设置成 NULL 的变量,将返回 FALSE。同时要注意的是一个 NULL 字节("\0")并不等同于 PHP 的 NULL 常数(这里所说的null字节,就是指的空字节)。
参数 | 描述 |
---|---|
var | 要检查的变量) |
在PHP语言中在变量前加一个$ 符号,来表明这是个变量(这点和Linux下shell语言类似)
技术细节
返回值: | 如果 var 存在并且值不是 NULL 则返回 TRUE ,否则返回 FALSE 。(这里的null值得是常数) |
---|---|
PHP 版本: | PHP 4, PHP 5, PHP 7 |
<?php
$var = '';
// 结果为 TRUE,所以后边的文本将被打印出来。
if (isset($var)) {
echo "This var is set so I will print.";(这里的$var的值,是一个空字节实际上是‘\0’,所以并不是一个空的值,因此isset($var)的返回值是ture)
}
// 在后边的例子中,我们将使用 var_dump 输出 isset() 的返回值。
// the return value of isset().
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE (var_dump()方法是判断一个变量的类型与长度,并输出变量的数值, 1.如果变量有值输出的是变量的值并回返数据类型 2.var_dump里面的变量必须是存在的,如果变量存在但值是空的就会返回false 3.没有变量则返回NULL
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
var_dump(isset($a, $b)); // FALSE
$foo = NULL;
var_dump(isset($foo)); // FALSE
?>