首页  >  文章  >  php教程  >  生成序列号(把12位时间数值压缩成7-8位字母+数字组合字符串)

生成序列号(把12位时间数值压缩成7-8位字母+数字组合字符串)

PHP中文网
PHP中文网原创
2016-05-23 08:39:382216浏览

php代码

/**
 * 生成序列号
 * 
把12位时间数值压缩成7-8位字母+数字组合字符串,重点是加上用户编号后将永不重复哈
 * 
用法:$serial_no = sofn_generate_serial('KH' . $this->user_login_data['id']);
 * 
示例:160121054346(12位,date('ymdhis'))压缩后QBVF4346(8位,sofn_generate_serial())
 * @param string $serial_no 序号前缀,如:'KH' . $this->user_login_data['id']
 * @return string 如:QBVF295
 * @since VER:1.0; DATE:2016-1-21; AUTHOR:SoChishun; EMAIL:14507247@qq.com; DESC:Added.
 */
function sofn_generate_serial($serial_no='') {
    $time = date('y-m-d-H-i-s');
    $atime = explode('-', $time);
    foreach ($atime as $stime) {
        $itime = $stime * 1;
        if ($itime < 26) {
            // 65(A)-90(Z)
            $serial_no.=chr(65 + $itime);
            continue;
        }
        // 48(0)-57(9)
        if ($itime >= 48 && $itime <= 57) {
            $serial_no.=chr($stime);
            continue;
        }
        $serial_no.=$stime;
    }
    return $serial_no;
}

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn