因为undefined等于false,我想知道是否有任何退回来替换以下代码:
public static function user_access_level() {
if (isset($_SESSION['lev_user_access'])) {
return $_SESSION['lev_user_access'];
} else {
return false;
}
}
使用:
public static function user_access_level() {
return $_SESSION['lev_user_access'];
}
答案 0 :(得分:5)
如果你有E_WARNING
(或E_ALL
,你应该编码的话),你会收到警告。
注意:未定义索引:第7行/your-script.php中的lev_user_access
您可以使用三元运算符......
return isset($_SESSION['lev_user_access']) ? $_SESSION['lev_user_access'] : FALSE ;
答案 1 :(得分:1)
false!== null 但是假== null
如果$ _SESSION ['lev_user_access']未定义,您也会遇到问题(将根据您的error_level设置和display_errors设置报告通知。
如果你想做一个班轮:
public static function user_access_level() {
return (isset($_SESSION['lev_user_access'])) ? $_SESSION['lev_user_access']:false;
}
这可能更容易被接受,但有些人,包括我自己,会认为它并不像阅读那么简单。