PHP ::检测会话是否启动的最佳方法

时间:2015-05-13 10:42:23

标签: php session if-statement

我想知道这个if语句:

if(session_id()===""){}

等同于这个if语句:

if(!session_id()){}

两者都适合我!

但是我喜欢分拣线,所以我只是想知道它是否100%等效,我可以依靠它来检测会话是否已经启动。

1 个答案:

答案 0 :(得分:7)

这些陈述并不完全等同。

if(!session_id()){}表示if(session_id() != TRUE){},因此session_id()函数可以返回0FALSE''NULL

if(session_id()===""){}正在检查session_id()是否返回空STRING,因此if语句将返回TRUE的唯一选项是''

从PHP手册关于session_id()

  

session_id()返回当前会话的会话ID或   空字符串("")如果没有当前会话(没有当前会话   id存在)。

所以,最好是使用第一种方式。