使用 PHP null 合并与三元运算符一起重置会话的问题

问题描述 投票:0回答:1

我正在尝试使用以下代码重置会话:

<?= 
$_SESSION['pettySuccess']??''; 
(($_SESSION['pettySuccess']??'')=='') ?'': unset($_SESSION['pettySuccess']); 
?>

我的代码背后的想法是让 pettySuccess 会话在其不评估为“ ”时重置会话 但在这里我收到语法错误。奇怪的是当我改变 unset() 方法时 到 session_unset(),我不再有语法错误,我现在得到的错误是“session_unset() 不接受任何属性”,我的意图是永远不会重置所有会话变量。

php session conditional-operator unset null-coalescing-operator
1个回答
0
投票

unset()
是一个语句而不是一个函数,因此它不能直接在三元运算符中使用。您可以使用以下代码:

if (isset($_SESSION['pettySuccess']) && $_SESSION['pettySuccess'] !== '') {
    unset($_SESSION['pettySuccess']);
}
© www.soinside.com 2019 - 2024. All rights reserved.