在此代码中,我无法获取ID值。如何给一个数字而不是if(strlen)
?而我该如何一一删除呢?
<?Php
@$product=$_POST['product'];
if (strlen($product)>3) {
array_push($_SESSION['cart'],$product); // Items added to cart
}
?>
<?Php
if (isset($_SESSION['cart'])) {
echo " <br><a href=cart-remove-all.php>Remove all</a><br>";
while (list ($key, $val) = each ($_SESSION['cart'])) {
echo "$key -> $val <br>";
} else {
echo " Session Cart is not created. Visit <a href=cart.php>cart.php</a> page
to create the array and add products to it. ";
}
?>
<form method="post">
<input type="hidden" name="product" value="<?php echo $row['jobtitle'];?>">
<input type="submit" style="float:right;font-size:15px;font-weight:600;" value="+ Add to Short List">
</form>
答案 0 :(得分:0)
要删除所有内容,只需执行:
unset($_SESSION['cart']);
,而不是使用while循环,可以使用foreach循环。可以通过使用$ _SESSION ['cart'];
中的数组索引来删除该项目答案 1 :(得分:0)
如果我清楚地理解了您的问题,则可以使用
if(isset($_SESSION['cart'][0]))
unset($_SESSION['cart'][0]);
同样,您可以更改0,1,2 ... n以取消设置第n条记录。顺便说一句,一旦您取消设置一个记录,数组中的记录数将从n变为n-1。如果您继续重复执行上述代码,直到记录数变为0,也将起作用
答案 2 :(得分:0)
使用foreach
foreach($_SESSION['cart'] as $key=>$value){
if($ke==="yourkey"){
unset($_SESSION['cart'][$key]);
}
}
您的密钥是您要删除的密钥。