如何检查会话值是否不存在?是使用isset()还是使用$_session["a"]==null ?


How do I check if a session value is inexistent? Do I use isset() or do I use $_session["a"]==null

会话值可以为空,如果他们没有设置?还是我应该一直使用isset ?

有很多方法可以做到这一点。例如:

  • 如果值不存在或为空(空数组、零、空字符串等),empty($_SESSION['a'])将返回true
  • 如果值存在,isset($_SESSION['a'])将返回true
  • array_key_exists('a', $_SESSION)也将返回true如果值存在

您不应该只使用$_SESSION['a'] == null,因为如果a不存在于$_SESSION数组中,您将收到一个通知。

使用isset()是确保设置会话变量的安全方法。注意:如果值为FALSE,则返回true。