session

session

自定义函数:

function setSession($key,$data,$prefix=''){
   session_id() || @session_start();

   if (!empty($prefix)){
       $_SESSION[$prefix][$key]=$data;
   }else{
       $_SESSION[$key]=$data;
   }
}

function getSession($key,$prefix=''){
   session_id() || @session_start();

   if (!empty($prefix)){
       return isset($_SESSION[$prefix][$key])?$_SESSION[$prefix][$key]:[];
   }else{
       return isset($_SESSION[$key]) ? $_SESSION[$key] : [];
   }
}



设置session 1:

setSession('shop',['username'=>$username,'id'=>$res['id']]);



设置session 2:

setSession('id',$id,'shop',);

setSession('username',$username,'shop',);




请问设置session 1和设置session 2 的结果和作用是一样的吗?



setSession('shop',['username'=>$username,'id'=>$res['id']]);这里的key不是shop吗?为什么在调用getSession的时候可以用getSession('username','shop')?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

您好,session1和session2设置不一样。

session1设置的是key名为shop,值为数组的session。

session2设置的是key为id、username,值为$id、$username的session,前缀为shop。

getSession('username','shop')是在获取key值为username,前缀为shop的值。

要注意函数每个参数的意义。祝学习愉快!

  • weixin_慕沐1043483 提问者 #1
    setSession('shop',['username'=>$username,'id'=>$res['id']]);这里的key不是shop吗?为什么在调用getSession的时候可以用getSession('username','shop')?
    2019-08-30 17:10:35
  • 您好,非常抱歉。session1和session2设置的相同。因为session1设置的值是数组。setSession('shop',['username'=>$username,'id'=>$res['id']]);相当于将前缀设置为了shop,所以在使用getSession('username','shop')时是可以获取到前缀为shop的值。祝学习愉快!
    2019-08-30 17:46:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

关于session
session
session问题
session

登录后可查看更多问答,登录/注册

PHP小白零基础入门
  • 参与学习           人
  • 提交作业       626    份
  • 解答问题       4930    个

想要学好Web后端开发的中流砥柱语言,本阶段为你轻松铺就扎实的基础,从前端网页布局的搭建到后台PHP开发,助你从零基础到掌握主流开发语言。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师