如何生成唯一的用户名 - PHP

I have strings of usernames in array . I want to generate a unique string of username which do not exits in array.(probably with some numbers following the username)

How do I achieve this?

I have summarize the code:

function generate_unique_username(){
    $firstname      = "james";//data coming from user
    $lastname       = "oduro";//data coming from user
    $new_username   = $firstname.$lastname;
    $usersnames     = array("james39","oduro32","kwame93","elvisasante","frimpong32","edward32","jamesoduro");

    //Loop through ARRAY usernames and check elements against VAR $new_username

    if (in_array($new_username, $usersnames)) {
        //generate new username which is not inside array
        //the new generated string should also be check against array to ensure is doens not exit.


    }else{
        return $new_username;
    }
}

Thank you.

Generating username from the stored array is not a good practice, I would suggest you to use the database.

If you are using the database instead of the array, you can use the best method to generate the unique username as following:

function generate_unique_username(){
    $firstname      = "james";//data coming from user
    $lastname       = "oduro";//data coming from user
    $new_username   = $firstname.$lastname;

    /* Note: writing here pseudo sql code, replace with the actual php mysql query syntax */
    $query = "SELECT COUNT(id) as user_count FROM user WHERE username like '%".$new_username."%'";
    $result = mysql_query($query);
    $count = $result['user_count'];

    if(!empty($count)) {
        $new_username = $new_username . $count;
    }

    return $new_username;
}