我有一个项目需要为用户生成一个独特的5位字母数字ID。如何使用CodeIgniter实现这一点?
谢谢。
我有一个项目需要为用户生成一个独特的5位字母数字ID。如何使用CodeIgniter实现这一点?
谢谢。
在字符串助手中有一个函数叫做random_string,可以用它来实现这个功能。
$this->load->helper('string');
echo random_string('alnum',5);
:=field1&"-"&LEFT("00000",5-(LEN(TEXT([field2],"0"))))&TEXT([field2],"0")
field1=包含前缀alpha值,例如(xyz,abc)
field2=包含field1范围起始值,例如(1,10,20)
输出:xyz-00001,abc-00010..
我强烈建议在这种情况下使用UUID, 因为您的项目肯定会发展成为更严肃的事情。
例如,这是我们在项目中生成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;
}
或者找到另一个线程,其中包含生成UUID v4的更复杂算法
将用户的数字ID(我假设您已经拥有)使用base_convert($id, 10, 36);
转换为36进制。