Php 有人能帮我解释一下下列代码的含义吗?

Php 有人能帮我解释一下下列代码的含义吗?,php,if-statement,session-variables,Php,If Statement,Session Variables,请帮助我理解以下代码: <?php session_start(); if(!isset($_SESSION['StaffId'])){ $_SESSION['StaffId']=""; } ?> 这是否意味着如果没有一组StaffId,将其设置为null?它只是检查会话['StaffId']是否已设置 如果不是,则将其设置为“”,这是一个空字符串,不为nulli设置-确定变量是否已设置且不为null 如果已使用unset()取消设置变量,则将不再设置该变量。如果测试已

请帮助我理解以下代码:

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


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

它只是检查会话['StaffId']是否已设置


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

i设置-确定变量是否已设置且不为null

如果已使用unset()取消设置变量,则将不再设置该变量。如果测试已设置为NULL的变量,则isset()将返回FALSE。还请注意,空字节(“\0”)并不等同于PHP空常量

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


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

它正在检查
$\u会话
数组中是否存在键
'StaffId'

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

$person = array( 'name' => 'george', 'age' => 22);
然后
isset($person['name'])
将返回true,但
isset($person['height'])
将返回false

因此,您的代码示例将
$\u会话['StaffId']
设置为
'
(空字符串),但前提是尚未为
$\u会话设置该键


编辑:如果您还不知道,
$\u SESSION
在PHP中是一个具有特殊意义的变量,那么值得注意。

最后,至少有人费心解释SESSION变量是什么(或者至少如果他们解释它而不是仅仅链接到文档会更好)。我不认为这是一个问题,问题是围绕着isset和它的逻辑,
这段代码初始化一个名为StaffId的会话变量,不管从星期天开始用10种不同的方式剪切它。它就是这样做的。如果你不知道初始化变量意味着什么,也许你需要学习一些编程的基础知识。不,它会将
$\u SESSION
数组的
StaffId
元素设置为空字符串(如果以前设置过)。要将其设置为
NULL
,您需要将
NULL
分配给变量,如
$\u SESSION['StaffId']=NULL。要取消设置(销毁)变量,请使用
unset($\u会话['StaffId'])@Wh1T3h4Ck5,我想你的意思是“如果之前没有设置”。@Georgeillo,是的,谢谢,打字错误