-5

请帮助我理解以下代码:

<?php
session_start();
if(!isset($_SESSION['StaffId'])){
    $_SESSION['StaffId']="";
}
?>

这是否意味着如果没有一组 StaffId,则将其设置为 null?

4

3 回答 3

3

它正在检查该键是否'StaffId'存在于$_SESSION数组中。

例如,如果您有一个数组:

$person = array( 'name' => 'george', 'age' => 22);

然后isset($person['name'])将返回true,但isset($person['height'])将返回false。

因此,您的代码示例设置$_SESSION['StaffId']''(一个空字符串),但前提是尚未为$_SESSION.

编辑:值得注意的是,如果您不知道这$_SESSION是一个在 PHP 中具有特殊含义的变量,请参阅文档

于 2013-08-16T07:53:08.433 回答
1

它只是检查是否$_SESSION['StaffId']已设置。

如果不是,则将其设置为“”,这是一个不为空的空字符串

于 2013-08-16T07:51:21.880 回答
-1

isset - 确定变量是否已设置且不为 NULL。

如果一个变量已经用 unset() 取消设置,它将不再被设置。如果测试已设置为 NULL 的变量,isset() 将返回 FALSE。另请注意,NULL 字节(“\0”)不等同于 PHP NULL 常量。

如果提供了多个参数,则仅当设置了所有参数时 isset() 才会返回 TRUE。评估从左到右进行,并在遇到未设置的变量时立即停止。

如果 var 存在并且值不是 NULL,则返回 TRUE,否则返回 FALSE。

于 2013-08-16T07:52:43.407 回答