下面这段代码到$_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']]
}
加个!在isset前面,那个本来就是不存在条件是正确的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。