php 生成唯一订单

 //生成唯一订单
    function build_order_no(){
        return date('ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
    }
    
//获取唯一序列号
public static function generateNum() {
    //strtoupper转换成全大写的
    $charid = strtoupper(md5(uniqid(mt_rand(), true)));
    $uuid = substr($charid, 0, 8).substr($charid, 8, 4).substr($charid,12, 4).substr($charid,16, 4).substr($charid,20,12);
    return $uuid;
}

--------------------------------------------
<?php
    $units = array();
    for($i=0;$i<1000000;$i++){
        $units[] = md5(uniqid(md5(microtime(true)),true));
    }
    $values  = array_count_values($units);
    $duplicates = [];
    foreach($values as $k=>$v){
        if($v>1){
            $duplicates[$k]=$v;
        }
    }
    //这种方法生成的唯一标识中没有重复。
    echo '<pre>';
    print_r($duplicates);
    echo '</pre>';
?>

 

posted @ 2021-01-18 14:38  码农编程进阶笔记  阅读(39)  评论(0编辑  收藏  举报
返回顶部 有事您Q我