未定义的变量错误 php 即使在设置变量之后

Undefined variable error php even after variable is set

我在 class 中全局定义了一个变量 $userStatus,[当在下拉列表中选择一个选项时] 将覆盖该值。该变量被下拉列表更改时设置的会话值覆盖。 当未设置会话时,该功能工作正常。但是当更改下拉列表并设置会话时,显示未定义的变量 $userStatus。 这是我尝试过的:

protected $userStatus = 1;

public function export($f3, $params)
{
    if(null !== ($this->f3->get('SESSION.userStatus')))
    {
        $this->$userStatus =  $this->f3->get('SESSION.userStatus');
    }
    $rowID = 5;
    foreach ($results as $result) 
       {
          if($this->userStatus == 2)
             {
                //logic
             }
          else{ //.... }
          $rowID++;
       }
}

以下是使用 ajax 设置会话的方式:

public function updateUserStatus($f3)
    {
        $status = $this->f3->get('POST.status');
        $this->f3->set('SESSION.userStatus', $status);
        echo $status;
    }

注意:

我只是想为 $userStatus 设置一个默认值,否则,当下拉列表更改时它工作正常。请问我哪里做错了?

你打错了。

由此变化

$this->$userStatus

有了这个:

$this->userStatus

也改这个

if(null !== ($this->f3->get('SESSION.userStatus')))

有了这个:

if(!empty($this->f3->get('SESSION.userStatus')))