加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 显示会话变量

发布时间:2020-12-13 16:18:38 所属栏目:PHP教程 来源:网络整理
导读:我想显示所有会话数据,但对它有一些控制权.问题是,我无法确切地知道会话中存储的是什么,因为它是来自购物车的数据. 例如,这里我的会话中有一个变量: item_name_1 : Productname item_quantity_1: 5 每个产品都有一些带数字的变量.如果购物车中有2种不同的产
我想显示所有会话数据,但对它有一些控制权.问题是,我无法确切地知道会话中存储的是什么,因为它是来自购物车的数据.

例如,这里我的会话中有一个变量:

item_name_1 : Productname
item_quantity_1: 5

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

item_number_2等等.

还有一个名为itemcount的变量,用于说明购物车中有多少种不同的产品.

我怎么能告诉php,所有以item_name_开头的变量应该显示在所有其他变量之后的各个div中,例如总价?

这是我目前用来打印会话数据的内容:

<?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中显示?

抱歉没有问题.

谢谢

解决方法

如果您无法控制数据保存到会话的方式,您可以编写一个简单的帮助函数,以更实用的格式检索产品数据.

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']; 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读