请帮助我理解以下代码:
<?php
session_start();
if(!isset($_SESSION['StaffId'])){
$_SESSION['StaffId']="";
}
?>
是否意味着如果没有一组StaffId,将其设置为null?
答案 0 :(得分:3)
正在检查'StaffId'
数组中是否存在密钥$_SESSION
。
例如,如果您有一个数组:
$person = array( 'name' => 'george', 'age' => 22);
然后isset($person['name'])
将返回true,但isset($person['height'])
将返回false。
因此,您的代码示例会将$_SESSION['StaffId']
设置为''
(空字符串),但前提是尚未为$_SESSION
设置该密钥。
编辑:值得注意的是,如果您不知道$_SESSION
是PHP中具有特殊含义的变量,see the docs。
答案 1 :(得分:1)
它只是检查是否设置了$_SESSION['StaffId']
。
如果不是,则将其设置为“”,这是一个空字符串,而不是空
答案 2 :(得分:-1)
isset - 确定变量是否已设置且不为NULL。
如果使用unset()取消设置变量,则不再设置该变量。如果测试已设置为NULL的变量,则isset()将返回FALSE。另请注意,NULL字节(&#34; \ 0&#34;)不等同于PHP NULL常量。
如果提供了多个参数,则只有在设置了所有参数后,isset()才会返回TRUE。评估从左到右进行,一旦遇到未设置的变量就停止。
如果var存在并且其值不是NULL,则返回TRUE,否则返回FALSE。