A better way to write this php function

This answer is completely based on the code and help from -KIKO Software. I did have to add in the global ‘$current_user’ for it to work correctly. Also, per @kikosoftware foresight, I added a means to track by year, just in case a user did not visit the site until the same quarter the following year.

function all_access_levels($current_user)
{
    global $current_user;

    $user_id = $current_user->ID;
    $current_quarter="Q" . ceil(date('n') / 3) . '_' . date('Y');
    $past_meta_year = get_user_meta($user_id,'cc_event_date_clicked');
    $get_meta_date = $past_meta_year[0];
    $last_four_of_past_year = substr($get_meta_date,-4);

    // unset meta data for all other quarters
    for ($quarter = 1; $quarter <= 4; $quarter++) {
        if ('Q' . $quarter . '_' . $last_four_of_past_year != $current_quarter) {
            delete_user_meta($user_id, 'cc_event_date_clicked',  'Q' . $quarter . '_' . $last_four_of_past_year);
        }
    }

    // level 3 users can access when they haven't any meta data
    if (empty(get_user_meta($user_id, 'cc_event_date_clicked'))) {
        return ['3'];
    }
    return false;
}


add_filter('cc_all_access_levels', 'all_access_levels', 10, 3);