What is a more elegant solution to these nested if/elseif statements?

后端 未结 9 1835
野趣味
野趣味 2021-01-12 17:09

I\'m building a website that contains users with user profiles. Many of the fields in the profile are optional.

There is an opportunity for a lot of user-generate

9条回答
  •  伪装坚强ぢ
    2021-01-12 18:12

    public function nameify($names = NULL) {
        if ($names) {
            if (!empty($names['display_name'])) {
                return $names['display_name'];
            }
            if (!empty($names['first_name'])) {
                $name = $names['first_name'];
            } 
            if (!empty($names['last_name'])) {
                $name .= ' ' . $names['last_name'];
            }
            if (empty($name) && !empty($names['id'])) {
                $name = 'user' . $names['id'];
            }
        }
        return $name ? ltrim($name) : 'NULL';
    }
    

    Set the default first, and return that if nothing else matches. Then since we always want to return the display name if we have it do just that.

    EDIT: Tweak to prevent returning "NULL "

提交回复
热议问题