开发者社区> 问答> 正文

php购物车教案的问题,哪个大神帮忙解答疑惑?报错

下面这段代码到$_SESSION["shoplist"][$shop['id']]这里我没看懂,如果代码是从上往下解析的话,照我理解php先走到if那里应该报 未定义$_SESSION["shoplist"][$shop['id']],然后到了else才赋值,那么从上到下的解析顺序为啥到if那里不报错啊?

nclude("conn.php");

$sql=mysql_query("select * from goods where id={$_GET['id']}",$conn);

$result=mysql_fetch_array($sql);

if(empty($result) || mysql_num_rows($sql)==0){    //如果没有遍历到或者搜索结果为0

die("添加信息不存在!");

}else{

$shop=$result;     //把遍历结果赋值给变量$shop

echo "添加成功!";

}

$shop["num"]=1;   //初始化变量数组$shop的数量为1

if(isset($_SESSION["shoplist"][$shop['id']])){  

                                   //如果在已有商品列表,而且能获得商品$shop(就是$result)的id

 

$_SESSION["shoplist"][$shop['id']]["num"]++; //商品列表的对应商品ID+1

 

}else{                      //如果商品不存在

$_SESSION["shoplist"][$shop['id']]=$shop; 

                                //把商品的信息赋值到$_SESSION["shoplist"][$shop['id']] 

}

展开
收起
爱吃鱼的程序员 2020-06-07 17:03:47 407 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
                        加个!在isset前面,那个本来就是不存在条件是正确的 
    
    2020-06-07 17:04:43
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载