使用三元运算符取消设置 属性
unsetting a property using a Ternary Operator
public function checkTheLogin() {
(isset($_SESSION['userID'])) ? $this->$signedIn = true. $this->userID = $_SESSION['userID'] : $this->signedIn = false. (unset($this->userID));
}
我的 class 会话中有 2 个属性 $signedIn 和 $userId.So 我想将 $userId 分配给 $_SESSION['userID'] 并分配 $signedIn = true如果有这样的会话,否则我想分配 $signedIn = false 并取消设置 $userId property.To 做这个任务我决定使用三元运算符而不是使用 if else 语句,我试过了但是它抛出VS 中的一个错误 Code.Hope 有人会帮忙谢谢。
您不能在三元运算符的后置表达式中放置多个表达式。此外,unset
是一个语句,而不是一个表达式,所以它根本不能在三元内部使用。
我能想到的最接近的是数组赋值。但这会将 $this->userID
设置为 null
而不是取消设置。
[$this->signedIn, $this->userID] =
isset($_SESSION['userID']) ?
[true, $_SESSION['userID']] :
[false, null];
public function checkTheLogin() {
(isset($_SESSION['userID'])) ? $this->$signedIn = true. $this->userID = $_SESSION['userID'] : $this->signedIn = false. (unset($this->userID));
}
我的 class 会话中有 2 个属性 $signedIn 和 $userId.So 我想将 $userId 分配给 $_SESSION['userID'] 并分配 $signedIn = true如果有这样的会话,否则我想分配 $signedIn = false 并取消设置 $userId property.To 做这个任务我决定使用三元运算符而不是使用 if else 语句,我试过了但是它抛出VS 中的一个错误 Code.Hope 有人会帮忙谢谢。
您不能在三元运算符的后置表达式中放置多个表达式。此外,unset
是一个语句,而不是一个表达式,所以它根本不能在三元内部使用。
我能想到的最接近的是数组赋值。但这会将 $this->userID
设置为 null
而不是取消设置。
[$this->signedIn, $this->userID] =
isset($_SESSION['userID']) ?
[true, $_SESSION['userID']] :
[false, null];