3 个回答

注释掉前面的if(!$is_login)

if(!$is_login)
//code1
//code2

等价于


if(!$is_login)
{
    //code1
}
//code2

你把那个if的大括号去了,它控制的流程其实只有下面一行,就是那个$this->uid,就是:

if(true)
//code1 受到if控制
//code2 没有收到if控制

根据上面的截图,题主应该想问为什么uid没有值,是吧?

原因:

list($is_login, $user_info) = $this->checkUserLogin($access_token);
if (!$is_login)
    //return $this->responseJson(10028);
$this->uid = $user_info['uid'];
...

此时$is_login不为空,所以!$is_login 为 false,下面的$this->uid = $user_info['uid']不执行,所以没有进行赋值操作

为了让$this->uid 有值,应改为

list($is_login, $user_info) = $this->checkUserLogin($access_token);
if (!$is_login) {
    //return $this->responseJson(10028);
}
$this->uid = $user_info['uid'];
...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题