为什么这会返回"Undefined Index"错误?



以下代码生成未定义的索引错误:

if(isset($_SESSION['sessionName'])); { echo $_SESSION['sessionName']; } 

但这工作得很好:

if(isset($_SESSION['sessionName'])) echo $_SESSION['sessionName']; 

两者都检查是否有$_SESSION集,然后如果 TRUE 显示/回显该值$_SESSION值。 我通常使用大括号,但在第一种情况下看不到或理解错误。 我的IDE(PHPStorm(没有抱怨语法,所以我迷失了可能的问题。

我将我的评论转换为带有附加信息的答案。

根据手册,分号结束了一条语句:">与 C 或 Perl 一样,PHP 要求指令在每个语句的末尾以分号结尾。PHP 代码块的结束标记自动表示分号;您不需要用分号终止 PHP 块的最后一行。块的结束标记将包括紧随的换行符(如果存在(。

这里发生的事情是,您向我们展示的第一行会产生错误,因为isset()因分号而被取消/停止,然后您正在尝试回显未设置/不为空的会话数组。

您也可能尚未启动会话;目前尚不清楚。

最新更新