我知道Notice: Undefined index
错误是因为缺少isset()
。
以下声明没有得到任何错误或通知:
if (isset($_SESSION['userid'])) {
$userid = $_SESSION['userid'];
}
但是以下语句,得到Notice: Undefined index
:
$userid = $_SESSION['userid'] ? isset($_SESSION['userid']) : NULL;
请告诉我为什么在使用缩写if/else
时会引起注意?
你做错了。应该是这样的:
$userid = isset($_SESSION['userid']) ? $_SESSION['userid'] : NULL;
首先检查变量是否已设置,然后使用其值。
试着用正确的方式绕过
$userid = isset($_SESSION['userid']) ? $_SESSION['userid'] : NULL;