为什么unset($_SESSION['name']);中的"name"与'name'得出的结果不一样?

来源:4-7 删除与销毁session

qq_慕仙6008473

2019-12-19 21:07

<?php

session_start();

$_SESSION['name'] = 'jobs';

//在这里删除name的session值

unset($_SESSION["name"]);

if (isset($_SESSION['name'])) {

    echo $_SESSION['name'];

}


写回答 关注

1回答

  • HonorKnight8
    2020-01-07 14:06:54

    不明白题主意思。unset已经清空了变量

    <?php
        session_start();
        $_SESSION['name'] = 'jobs';

        var_dump($_SESSION['name']);
        echo "<br />";
        
        //在这里删除name的session值
        unset($_SESSION["name"]);

        var_dump($_SESSION['name']);
        echo "<br />";

        if (isset($_SESSION['name'])) {
            echo $_SESSION['name'];
        }

        var_dump(isset($_SESSION['name']));

    ?>


    第一个输出是:string(4) "jobs"

    unset之后,再输出是:NULL

    最后的if(isset())语句不会有输出,因为变量清空了,isset()返回bool(false)

PHP进阶篇

轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序

181835 学习 · 2577 问题

查看课程

相似问题