我想在PHP中生成一个字母数字员工id,例如EP0001
有什么想法吗?
发布于 2010-07-08 21:05:08
我们需要更多的帮助来帮助你,但这就是我会做的。
假设EP是每个字母数字雇员id的开始,那么
<?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中的零了
<?php
function getTotalEmployees() {
$num = 'Get number of Employees from database';
++$num; // add 1;
return $num;
}
?>发布于 2010-07-08 21:06:02
如果您正在寻找随机id,您可以使用以下代码
<?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
发布于 2010-07-08 21:12:14
只需按顺序进行操作,不需要将数据“编码”成数字,例如"E表示他是企业级员工,P表示他驻留在P-lot中。“这是一种过时的方式,从数据库出现之前就悄悄地出现了。将特殊含义编码到可以更改的唯一标识符中将是一场噩梦,没有必要这样做,而且它的数据库设计也很糟糕。
或者,如果这些数字容易受到某种程度的欺诈,则以非顺序的方法生成它们,例如生成伪随机UID并检查它是否正在使用,然后分配它。
https://stackoverflow.com/questions/3203784
复制相似问题