以下代码修订中是否有任何错误(PHP)

时间:2011-03-02 02:16:31

标签: php

因为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'];
    }

2 个答案:

答案 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;
}

这可能更容易被接受,但有些人,包括我自己,会认为它并不像阅读那么简单。