$ _SESSION数组空键

时间:2011-12-30 17:29:07

标签: php arrays session

<?php session_start();?>

<?php
    !isset($_GET["id"]) ? header("Location: store.php") : $id = $_GET['id'];
?>

<?php
    $_SESSION["items"][$id] = 1; 
    print_r($_SESSION);
?>

此输出

    Array
    (
        [items] => Array
            (
                [1] => 1
                [] => 1
                [2] => 1
                [3] => 1
            )
    )

总会出现一个空键。为什么那个键是空的。

1 个答案:

答案 0 :(得分:4)

这就是这一行:

$_SESSION["items"][$id] = 1;

如果 $ id 未定义,则未定义的密钥设置为1,您需要在分配之前验证$ id,执行此操作的简单方法是:

if(isset($id)){
    $_SESSION["items"][$id] = 1;
}

应该做的伎俩: - )