php - 购物车数组 $_SESSION['cart'] 未正确打印购物车项目
问题描述
我正在通过 $_SESSION 在电子商务网站上执行购物车功能。我在 $_SESSION['cart'] 数组中的每次点击都成功添加了购物车项目。但无法正确打印。我制作了一个关联数组,这是一个正确处理的问题。我不知道如何正确显示购物车物品,尝试了合并数组 += $item 或任何东西,但没有任何效果。
这是我的代码..
//add item to cart
<?php
session_start();
if(!isset($_SESSION['cart'])){
$_SESSION['cart'] = array();
}
$item = array("pid"=>$_POST['pid'], "name"=> "bloom flowers");
array_push($_SESSION['cart'],$item);
echo "Done!";
?>
//displaying cart items
<?php include 'navbar.php';
session_start();
if(isset($_SESSION['cart'])){
foreach ($_SESSION['cart'] as $value){
echo '<h5>'.$value.'</h5>';
}
}
// print_r($_SESSION['cart']);
?>
解决方案
对于您的情况,如果您想显示 say "name" 的数据,请使用 $value['name']
因此,更改块
foreach ($_SESSION['cart'] as $value){
echo '<h5>'.$value.'</h5>';
}
至
foreach ($_SESSION['cart'] as $value){
echo '<h5>'.$value['name'].'</h5>';
}
如果需要,对 pid 执行相同的操作。
因此,整个代码(完全工作)是:
<?php
session_start();
if(!isset($_SESSION['cart'])){
$_SESSION['cart'] = array();
}
$item = array("pid"=>'1', "name"=> "Mary");
array_push($_SESSION['cart'],$item);
foreach ($_SESSION['cart'] as $value){
echo '<h5>'.$value['name'].'</h5>';
}
?>
推荐阅读
- javascript - 如何使用 window.open 应用样式并使窗口可扩展
- cytoscape - Cytoscape 多变量样式
- python-3.x - 通过systemd找不到python模块,但手动工作
- reactjs - React、Redux 和 Recompose:“调度不是函数”
- database - 我可以在不传递用户名和密码的情况下使用 Type 2 JDBC Driver 从 java 中调用 SP 吗?
- haskell - 这甚至是 Haskell 中的一个函数吗?如果是这样,我们应该如何阅读它?
- pentaho - Pentaho 报告缓慢
- wordpress - 在 Wordpress 中自动重定向/重写 1000 个旧帖子 url
- facebook - Facebook 新权限 - 无法将视频发布到用户时间轴
- python - 如何在 txt 文件中搜索一个单词,然后打印包含该单词的行(Python)?