gpt4 book ai didi

php - 显示 session 变量

转载 作者:可可西里 更新时间:2023-10-31 23:32:57 26 4
gpt4 key购买 nike

我想显示所有 session 数据,但可以对其进行一些控制。问题是,我无法确切知道 session 中存储了什么,因为它是来自购物车的数据。

例如,我的 session 中有一个变量:

item_name_1 : Productname
item_quantity_1: 5

每个产品都有一些带有数字的变量。如果购物车中有 2 种不同的产品,则第二个将是

item_number_2 等等。

还有一个名为 itemcount 的变量,它表示购物车中有多少种不同的产品。

我如何告诉 php,所有以 item_name_ 开头的变量都应该显示在所有其他变量(如总价)之后的各个 div 中?

这是我目前用来打印 session 数据的:

<?php
foreach ($_SESSION as $key=>$val)
echo $key. ": ".$val. "<br>";
?>

这是我看到的:

currency: EUR
shipping: 10
grandTotal: 70.5
itemCount: 4
item_name_1: Tomato Suppe
item_quantity_1: 1
item_price_1: 3.5
item_options_1:
item_name_2: Lentils Suppe
item_quantity_2: 14
item_price_2: 3.5
item_options_2:
item_name_3: Chicken Suppe
item_quantity_3: 1
item_price_3: 4.5
item_options_3:
item_name_4: Green Leaves Suppe
item_quantity_4: 1
item_price_4: 3.5
item_options_4:

显然我想让它更易于阅读。

我可以使用 echo $_SESSION['shipping'] 将运费放在任何我想放的地方,但我该如何处理产品?

例如,假设我希望每个产品都显示在 div 和/div 中?

抱歉这个菜鸟问题。

谢谢

最佳答案

如果您无法控制将数据保存到 session 的方式,您可以编写一个简单的辅助函数,以更有用的格式检索产品数据。

function getSessionProducts()
{
$itemCount = $_SESSION['itemCount'];
$products = array();
for($i = 1; $i <= $itemCount; $i++) {
$products[] = array(
'name' => $_SESSION['item_name_'.$i],
'quantity' => $_SESSION['item_quantity_'.$i],
'price' => $_SESSION['item_price_'.$i],
'options' => $_SESSION['item_options_'.$i]
);
}
return $products;
}

当然,您应该添加适当的验证,以检查 $_SESSION 数组中的数据是否在访问之前已设置。

使用方法如下

$products = getSessionProducts(); 
foreach($products as $product) {
echo $product['name'];
}

关于php - 显示 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12736042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com