user_id
<?php
session_start();
$pid = $_GET['pid'];
$ptype = $_GET['ptype'];
$_SESSION = array();
$_SESSION['cart_items'] = array();
if (isset($_GET['add_cart']) && !empty($_GET['add_cart'])) {
// Add new data to Session var
$newdata = array($pid , $ptype, 1 );
array_push($_SESSION['cart_items'], $newdata);
}
echo '<pre>';
var_dump($_SESSION);
echo '</pre>';
?>
将array_push
中已有的数据替换为$_SESSION
中的$newdata
变量,而不是将其添加。
例如:
我输入了网址:$_SESSION
阵列看起来像这样:
?pid=1&ptype=CH-&add_cart=Add+to+Cart
太棒了。但当我输入另一个网址时:array(1) {
["cart_items"]=>
array(1) {
[0]=>
array(3) {
[0]=>
string(1) "1"
[1]=>
string(3) "CH-"
[2]=>
int(1)
}
}
}
该数组如下所示:
?pid=1&ptype=CPU-&add_cart=Add+to+Cart
而不是:
array(1) {
["cart_items"]=>
array(1) {
[0]=>
array(3) {
[0]=>
string(1) "1"
[1]=>
string(4) "CPU-"
[2]=>
int(1)
}
}
}
它取代了Session中已有的数据。我希望它添加到它。我该怎么做?
提前致谢!
答案 0 :(得分:2)
从
更改第5行和第6行$_SESSION = array();
$_SESSION['cart_items'] = array();
到
// $_SESSION = array();
// $_SESSION['cart_items'] = array();
array_push没有清除您的数据。这两行是在每次加载页面时清除会话数据。