问答详情
源自:4-7 删除与销毁session

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

<?php

session_start();

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

//在这里删除name的session值

unset($_SESSION["name"]);

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

    echo $_SESSION['name'];

}


提问者:qq_慕仙6008473 2019-12-19 21:07

个回答

  • 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)