Hez*_*ina 5 php session if-statement
我想知道这个if语句是否:
if(session_id()===""){}
Run Code Online (Sandbox Code Playgroud)
相当于这个if语句:
if(!session_id()){}
Run Code Online (Sandbox Code Playgroud)
两者都适合我!
但我喜欢分拣线,所以我只是想知道它是否100%等效,我可以依靠它来检测会话是否已经启动.
这些陈述并不完全等同.
if(!session_id()){}是指if(session_id() != TRUE){}这样的session_id()功能可以恢复0,FALSE,'',NULL.
并且if(session_id()===""){}正在检查是否session_id()返回空的STRING,因此该if语句将返回TRUE 的唯一选项是''.
从PHP手册关于session_id():
session_id()返回当前会话的会话ID或空字符串(""),如果没有当前会话(不存在当前会话ID).
所以,最好是使用第一种方式.