php - 想要回显所有项目名称产品。只有最后添加的项目会得到回显。不是全部。
问题描述
我正在编写一个购物车。这只是代码的一部分。我希望能够回显购物车中的所有项目名称。只允许我回显最后添加的项目名称。
<?php
if(!empty($_SESSION["shopping_cart"]))
{$total = 0;foreach($_SESSION["shopping_cart"] as $keys => $values)
{
?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td>$ <?php echo $values["item_price"]; ?></td>
<td>$ <?php echo number_format($values["item_quantity"] * $values["item_price"], 2);?></td>
<td><a href="index.php?action=delete&id=<?php echo $values["item_id"]; ?>"><span class="text-danger">Remove</span></a></td>
</tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);}
?>
<?php
echo($values["item_name"]);
?>
解决方案
编辑 :
如果你想echo
在你的外部foreach
,你可以将你的数据推送到一个数组中,然后再推送echo
。
echo
不喜欢array
。使用 avar_dump
或字符串化您的数据。
<?php
if(!empty($_SESSION["shopping_cart"])) {
$total = 0;
$return = [];
foreach($_SESSION["shopping_cart"] as $keys => $values) {
?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td>$ <?php echo $values["item_price"]; ?></td>
<td>$ <?php echo number_format($values["item_quantity"] * $values["item_price"], 2);?></td>
<td><a href="index.php?action=delete&id=<?php echo $values["item_id"]; ?>"><span class="text-danger">Remove</span></a></td>
</tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);
$return[] = $values["item_name"];
}
var_dump($return);
?>
上一个答案:
你必须把你echo
的foreach
.
使用您的echo
外部foreach
,$values
只取最后一个值。
像这样 :
<?php
if(!empty($_SESSION["shopping_cart"])) {
$total = 0;
foreach($_SESSION["shopping_cart"] as $keys => $values) {
?>
<tr>
<td><?php echo $values["item_name"]; ?></td>
<td><?php echo $values["item_quantity"]; ?></td>
<td>$ <?php echo $values["item_price"]; ?></td>
<td>$ <?php echo number_format($values["item_quantity"] * $values["item_price"], 2);?></td>
<td><a href="index.php?action=delete&id=<?php echo $values["item_id"]; ?>"><span class="text-danger">Remove</span></a></td>
</tr>
<?php
$total = $total + ($values["item_quantity"] * $values["item_price"]);
echo($values["item_name"]);
}
?>
推荐阅读
- c# - c# HtmlAgilityPack类里面很多类,需要检查类是否存在
- python-3.x - 如何在图像上绘制 K-means 聚类
- ios - 在iOS swift中从后台扫描标签时在appDelegate中读取NFC标签UID
- click - 如何在单击时获得 OpenLayers 5 中的 lon/lat 值
- spring-boot - Spring Boot Maven 插件:它实际上做了什么?
- reactjs - 在 useState 中使用对象作为状态时防止重新渲染
- android - 如何从本地存储中获取文件(pdf、jpg、docs)并创建文件
- angular - 在 Visual Studio 2019 中为 Angular 应用程序构建失败
- c# - 在 C# 的后台初始化 HalconWindow/HSmartWindowControlWPF
- verilog - 为什么在编程流光程序后LED仍然保持初始状态而模拟没有出错?