18位不重复订单号

浏览:6719 发布日期:2014/12/16 分类:基础算法
18位不重复订单号
/**
*   生成10位绝不重复订单号
*/
function order_number(){
    static $ORDERSN=array();                                        //静态变量
    $ors=date('ymd').substr(time(),-5).substr(microtime(),2,5);     //生成16位数字基本号
    if (isset($ORDERSN[$ors])) {                                    //判断是否有基本订单号
        $ORDERSN[$ors]++;                                           //如果存在,将值自增1
    }else{
        $ORDERSN[$ors]=1;
    }
    return $ors.str_pad($ORDERSN[$ors],2,'0',STR_PAD_LEFT);     //链接字符串
}
暂时只测试了本地,如果需要多并发,可以考虑将静态变量变为静态缓存判断
评论( 相关
后面还有条评论,点击查看>>