这段代码有一两点不理解 关于session的,希望大神能点拨一下,谢谢!!!

<?php
   //开启session
   session_start();

   //获取传过来的商品名和价格
   $name = $_GET['name'];
   $price = $_GET['price'];

   //把session中的商品信息和传过来的(刚买的)商品信息对比
   $goods = $_SESSION['goods'];                           
   if ($name == $goods[$name]['name']) {
       //买过的话,则总价格增加,相应商品数量增加
       $_SESSION['totalPrice'] += $price;
       $goods[$name]['number'] += 1;
   } else {
       //第一次买的话,将相应的商品信息添加到session中
       $goods[$name]['name'] = $name;
       $goods[$name]['price'] = $price;
       $goods[$name]['number'] += 1;
       $_SESSION['totalPrice'] += $price;
   }

   $_SESSION['goods'] = $goods;
   //购买处理完毕后跳转到商品列表
   header('location: goodsList.php');
?>

首先第一点是这一句$goods = $_SESSION['goods'];  在其他相关联的php文件中都没有看到有把值添加到 $_SESSION['goods']里面,那么这句话结束变量$goods是变成一个空的$_SESSION['goods']全局数组了吗?

还有一点就是$goods[$name]['name']中第一维参数为什么是$name,这个二维数组也不太理解其含义,还是说这段代码本来就写的不好!(如果前面能理解,后面遍历的时候是foreach($goods as value){  echo $value['name'].$value['price']}到是可以理解~)

我是新手_请多指教
浏览 1860回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP