未定义的偏移数组

时间:2014-08-25 09:11:55

标签: php arrays offset

当我运行此代码时,我得到注意:未定义的偏移:3在第12和18行,12和18,前面有

$_SESSION['basket'][3];

if(isset($_GET['action']) && $_GET['action'] == "add")
{
    if(isset($_GET['product_id']))
    {
        **$_SESSION['basket'][3] += 4;**
    }
    else
    {
        $_SESSION['basket'][3] += 1;

    }
}

2 个答案:

答案 0 :(得分:1)

尝试在第三个索引处初始化值。

$_SESSION['basket'][3] = 0;

或者更好的解决方案是

$_SESSION['basket'][3] = isset($_SESSION['basket'][3]) ? $_SESSION['basket'][3] : 0;

而不仅仅是

$_SESSION['basket'][3];

答案 1 :(得分:-1)

事情是你没有初始化会议

尝试像这样初始化

$_SESSION['baslet'][3] = 0;

现在

$_SESSION['basket'][3] += 4;

尝试这样

$_SESSION['basket'][3] = intval($_SESSION['basket'][3]) + 4;

最好在数学运算之前将数据转换为整数类型或浮点类型