PHP 变量处理函数

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)