PHP isset()函数
isset()函数是PHP的内置函数,用于判断一个变量是否已设置。如果一个变量被认为已设置,意味着该变量已声明且具有与NULL不同的值。简而言之,它检查变量是否已声明且不为null。
此函数返回 true 如果变量不为null,否则返回 false 。请注意,空字符(” \0 “)与PHP NULL 常量被认为是不同的。
注意:需要注意的重要一点是,如果使用unset()函数取消设置一个变量,它将在此期间被认为是未设置的。
语法
isset (mixed variable, ….)
混合表示参数可能是多个类型。
参数
此函数接受一个或多个参数,但至少必须包含一个参数。
variable(必需) - 必须将此参数传递给此函数,因为它保存了要检查的变量/元素。
… – 要检查的更多变量。可以选择将它们传递给此函数。
返回值
isset()函数返回一个布尔值:它可以是true或false。
如果变量存在且不包含NULL值,则返回 TRUE ,否则返回 FALSE 。
更改
从PHP 5.4.0开始,字符串的非数字偏移返回FALSE。
示例
以下是一些示例列表,通过这些示例,您可以更好地理解isset()函数-
示例1
<?php
var1 = 'test';
if(isset(var1)) {
echo "The variable var1 is set, so it will print. </br>";
var_dump(isset(var1));
}
?>
输出
The variable test is set, so it will print.
bool(true)
示例2:空字符和NULL常量之间的区别
空字符(” \0 “)与PHP的 NULL 常量不同。通过以下示例的帮助,您可以实际看到它们之间的区别。
<?php
x = 9;
//TRUE becausex is set
if (resultX = isset (x)) {
echo "Variable 'x' is set.";
}
echo var_dump(isset(resultX)). "</br>";y = NULL;
//False because y is Null
if (isset (y)) {
echo "Variable 'y' is not set.";
}
echo var_dump(isset(y)). "</br>";z ='\0';
//TRUE because \0 and NULL are treated different
if (resultZ = isset (z)) {
echo "Variable 'z' is set.";
}
echo var_dump(isset($resultZ));
?>
输出
Variable 'x' is set. bool(true)
bool(false)
Variable 'z' is set. bool(true)
示例3:使用unset()
在这个示例中,我们将使用unset()函数来取消设置变量。请看下面的示例:
<?php
var1 = 'test';var2 = 'another test';
if (isset(var1) && isset(var2)) {
echo "It will print because variables are set. </br>";
var_dump (isset(var1));
var_dump (isset(var2));
}
unset (var1);
unset (var2);
echo "</br> </br>Variables after unset: </br>";
var_dump (isset(var1));
var_dump (isset(var2));
?>
输出
It will print because variables are set.
bool(true) bool(true)
Variables after unset:
bool(false) bool(false)
示例4:isset和!empty的区别
isset()和!empty()函数的运作方式相同,并且返回相同的结果。它们之间唯一的区别是,如果变量不存在,!empty()函数不会生成任何警告。
<?php
valiable1 = '0';
//check the isset() function
if (isset (variable1)) {
print_r(variable1 . " is checked by isset() function");
}
echo "</br>";variable2 = 1;
//check the !empty() function
if (!empty (variable2)) {
print_r(variable2 . " is checked by !empty() function");
}
?>
** 输出 **
0 is checked by isset() function
1 is checked by !empty() function
示例5:检查多个变量
<?php
var_test1 = '';var_test2 = '';
if (isset (var_test1,var_test2)) {
echo "Variables are declared and also not null.";
} else {
echo "Variables are not set or null";
}
?>
输出
Variables are declared and also not null.
示例5:使用isset()检查会话变量
<?php
user = 'javatpoint';_SESSION['userid'] = user; if (isset(_SESSION['userid']) && !empty(_SESSION['userid'])) {
echo " Session is available, Welcome to_SESSION[userid] ";
} else {
echo " No Session, Please Login ";
}
?>
输出
Session is available, Welcome to javatpoint