使用三元运算符取消设置属性


public function checkTheLogin() {
(isset($_SESSION['userID'])) ? $this->$signedIn = true. $this->userID = $_SESSION['userID'] : $this->signedIn = false. (unset($this->userID));
}

我的类Session中有两个属性分别为$signedIn和$userId。因此,我想将$userId分配给$_Session['userId'],如果存在这样的会话,则分配$signedIn=true,否则,我想分配$signerIn=false并取消设置$userId属性。为了完成这项任务,我决定使用三元运算符,而不是使用if-else语句。我已经尝试过了,但它在VS代码中抛出了一个错误。希望有人能帮忙,谢谢。

不能在三元运算符的结果表达式中放入多个表达式。此外,unset是一个语句,而不是一个表达式,因此它根本不能在三进制中使用。

我能想到的最接近的是数组赋值。但这会将$this->userID设置为null,而不是取消设置

[$this->signedIn, $this->userID] = 
isset($_SESSION['userID']) ? 
[true, $_SESSION['userID']] : 
[false, null];

最新更新