如何使用codeigniter生成5位数的字母数字唯一ID?

时间:2010-12-24 16:14:36

标签: php codeigniter unique

我有一个项目需要为用户生成一个唯一的5位字母数字ID。如何使用codeigniter实现这一目标!?

感谢

6 个答案:

答案 0 :(得分:9)

在字符串助手中有一个名为random_string的函数。

$this->load->helper('string');
echo random_string('alnum',5);

Details

答案 1 :(得分:2)

您可以尝试使用uniqid()

答案 2 :(得分:1)

由于您需要唯一的ID,因此您应该使用用户记录中的唯一数据(例如索引),或者只生成一个随机数据并直接在数据库中检查它。

以下是两种方法:

  1. random strings
  2. Unique IDs

答案 3 :(得分:0)

使用base_convert($id, 10, 36);将用户的数字ID(我假设您已经拥有)转换为base-36

答案 4 :(得分:0)

下面的代码必须写在sharepoint列表的计算字段下,以便在增量模型中动态生成组合字母数字项id。

=field1&"-"&LEFT("00000",5-(LEN(TEXT([field2],"0"))))&TEXT([field2],"0")

filed1 =包含前缀alpha值,即(xyz,abc)

field2 =包含field1范围的起始值,即(1,10,20)

输出:xyz-00001,abc-00010 ..

答案 5 :(得分:0)

我强烈建议使用UUID for such purposes,因为你的项目肯定会变得更加严肃。

例如,以下是我们在项目UID生成中的工作方式:

<?php 
// ...
public function getUid($uid = null)
{
    while (! $this->isValid($uid)) {
        $uid = sprintf('%04x%04x%02x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xff));
    }
    return $uid;
}

或找出另一个帖子more complicated algorithms of generating UUID v4