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']是否已设置
如果不是,则将其设置为“”,这是一个空字符串,不为nulli设置-确定变量是否已设置且不为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,是的,谢谢,打字错误