PHP isset() 函数检查变量是否已声明且不为 null。如果声明了变量且该变量不为 null,则该变量被视为已设置。
如果提供了多个参数,则仅当所有参数均被视为已设置时,此函数才返回 true。它从左到右检查变量,并在发现未设置的变量后立即停止。
如果已使用 unset() 函数,不再认为已设置。
该函数在检查已赋值为 null 的变量时返回 false。请注意,空字符("\0")不等于 PHP NULL常量。
语法
isset(var, vars)
参数
var | 必需。 指定要检查的变量。 |
vars | 可选。 指定要检查的变量。允许使用多个参数。 |
返回值
如果 var 存在并且具有除 null 之外的任何值,则返回 true。否则为 false。
示例:isset() 示例
下面的示例显示了 isset() 函数的用法。
<?php
$a = null;
$b = '';
$x = 'test';
$y = 10;
var_dump(isset($a)); //返回:bool(false)
var_dump(isset($x, $a)); //返回:bool(false)
echo "\n";
var_dump(isset($b)); //返回:bool(true)
var_dump(isset($x, $y)); //返回:bool(true)
var_dump(isset($b, $x, $y)); //返回:bool(true)
echo "\n";
//取消设置变量$x
unset($x);
var_dump(isset($x, $y)); //返回:bool(false)
var_dump(isset($b, $x, $y)); //返回:bool(false)
echo "\n";
//这将评估为 TRUE,因此文本将被打印
if (isset($y)) {
echo "y is set to $y";
}
?>
上述代码的输出将是:
bool(false)
bool(false)
bool(true)
bool(true)
bool(true)
bool(false)
bool(false)
y is set to 10
示例:在数组上使用 isset()
isset( ) 函数也以类似的方式处理数组的元素。考虑下面的示例:
<?php
$Arr1 = array(10, null);
$Arr2 = array("a" => 10,
"b" => null);
//检查$Arr1的元素
var_dump(isset($Arr1[0]));
var_dump(isset($Arr1[1]));
var_dump(isset($Arr1[10]));
echo "\n";
//检查$Arr2的元素
var_dump(isset($Arr2['a']));
var_dump(isset($Arr2['b']));
var_dump(isset($Arr2['z']));
?>
上述代码的输出将是:
bool(true)
bool(false)
bool(false)
bool(true)
bool(false)
bool(false)