PHP 生成随机用户名

标签 php random

我正在做一个生成随机用户名的小函数,如下所示:

public static function nicknames($data) {
    if ($data['request'] == 'nickAvailable') {

        foreach ($data as $value)
            if (is_array($value))
                $nick = $value['nickname'];

        $random = rand(2, 2);
        $nickname = $nick . '_' . $random;

        $count = 3;
        $nicknames = array();
        for ($i = 1; $i <= $count; $i++) {
            $select = self::$db->select('users', 'nickname', array('nickname' => $nickname));

            if (count($select) == 0) {
                $nicknames[] = $nickname;
            } else {
                $count = $count + 1;
            }
        }

        $array = array("status" => 0,
            "errors" => $nicknames,
            "data" => array());

        model::json($array);
    }

}

我遇到的唯一问题是 $random 只执行一次,而不是在每个循环中执行。我需要 3 个不同的用户名在数组中,并且它们必须彼此不同。 我如何编辑我的代码来实现这一点? 感谢您的任何建议

最佳答案

将随机数生成器和昵称构建变量放在循环的开头。同时增加 rand 允许返回的数字范围,因为此时它总是返回 2

$usernames = array();
do {

 // inside generate random number, 
 // build nickname, 
 // query to see if its taken, 
 // and if NOT taken, add to the usernames array

} while(count($usernames) < 3);

关于PHP 生成随机用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17788980/

相关文章:

php - 将查询结果作为行存储到数据库表中

php - Accordion 式强制打开选项卡

c# - 从集合中随机返回项目

Python:如何随机洗牌列表,其中每个变量将在新位置结束

javascript - HTML javascript onclick 事件不适用于输入类型提交

php - 将 require 语句与 if/else if 语句一起使用

php - PHP中的注意事项。怎么不给他们看?

python - 从 [A-z] 生成飞行字符串

unity3d - 如何在不增加延迟的情况下在 Unity 中创建更大的世界/关卡?

random - 随机选择一组推特用户的好方法是什么?