首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >生成字母数字员工ID

生成字母数字员工ID
EN

Stack Overflow用户
提问于 2010-07-08 20:58:56
回答 4查看 6.5K关注 0票数 0

我想在PHP中生成一个字母数字员工id,例如EP0001

有什么想法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-08 21:05:08

我们需要更多的帮助来帮助你,但这就是我会做的。

假设EP是每个字母数字雇员id的开始,那么

代码语言:javascript
复制
<?php
$number = getTotalEmployees();

$id = 'EP'.$number;

function getTotalEmployees() {
    $num = 'Get number of Employees from database';
    ++$num; // add 1;

    $len = strlen($num);
    for($i=$len; $i< 4; ++$i) {
        $num = '0'.$num;
    }
    return $num;
}
?>

更新

多亏了Trefex,如果您使用MySQL,您可以将员工ID存储在一个字段中并设置ZEROFILL属性。这样您就不必处理PHP中的零了

代码语言:javascript
复制
<?php
function getTotalEmployees() {
    $num = 'Get number of Employees from database';
    ++$num; // add 1;
    return $num;
}
?>
票数 4
EN

Stack Overflow用户

发布于 2010-07-08 21:06:02

如果您正在寻找随机id,您可以使用以下代码

代码语言:javascript
复制
<?php 
  $numchars = rand(4,15); //You can specify the length here
  //This is the list from which id is generated.
  $chars =   explode(',','a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,0,1,2,3,4,5,6,7,8,9'); 
  $random=''; 
  //Do a random generation in a for loop
  for($i=0; $i<$numchars;$i++)  { 
    $random.=$chars[rand(0,count($chars)-1)]; 
  } 
  //Here you go.. Nice & pretty
  echo $random; 

?>

你可以在Google中找到更多

http://www.webmaster-talk.com/php-forum/29621-php-randomly-generate-alphanumeric-charachters.html

票数 1
EN

Stack Overflow用户

发布于 2010-07-08 21:12:14

只需按顺序进行操作,不需要将数据“编码”成数字,例如"E表示他是企业级员工,P表示他驻留在P-lot中。“这是一种过时的方式,从数据库出现之前就悄悄地出现了。将特殊含义编码到可以更改的唯一标识符中将是一场噩梦,没有必要这样做,而且它的数据库设计也很糟糕。

或者,如果这些数字容易受到某种程度的欺诈,则以非顺序的方法生成它们,例如生成伪随机UID并检查它是否正在使用,然后分配它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3203784

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档