如何按元素检查和取消设置/设置SESSION?

时间:2012-06-13 20:35:04

标签: php session

我的购物车的会话版本为:'cart_b_1_1'。

字符串中的字母表示一个类别,整数表示用户ID&产品ID。

如何检查已设置的SESSION var的类别,看它是否与新选择的类别匹配?

我试图确保如果一个项目被添加到SESSION数组并且已经存在具有相同类别字母的var,那么它将被取消设置并有效地替换为新选择。这是为了将类别选择限制为一个。

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您应该考虑采用关联数组允许的优势:

$_SESSION['categories'][$mycat] = array($user_id, $product_id);

这样,无论何时设置新类别,它都会覆盖最后一个类别。不确定为什么你需要那个级别的user_id,假设整个购物车属于一个用户,我的会话看起来像:

array(
    'user' => $user_id,
    'cart' => array('catid' => 'prodid', 'catid2', 'prodid2'))
);

答案 1 :(得分:2)

您应该使用3个变量而不是1个。

$_SESSION['category'] = 'cart_b';
$_SESSION['user_id'] = 1;
$_SESSION['product_id'] = 1;

但一般情况下 - 您可以使用'_'分隔符将字符串转换为数组。

$varArray = explode('_', $_SESSION['var']);

答案 2 :(得分:0)

使用_爆炸会话变量并检查第一个元素以查找类别。

$ myArray的爆炸=( “_”,$ _ SESSION [ 'yourvariablename']);

然后你的$ myarray [1]就是这个类别,所以你可以比较和做其他事情。

这是你想要的吗?