php 生成唯一订单「建议收藏」

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>';
?>

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111600.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月18日 上午11:00
下一篇 2022年2月18日 下午12:00


相关推荐

  • Android 启动过程的底层实现

    Android 启动过程的底层实现

    2022年1月20日
    57
  • PyCharm的安装以及激活成功教程

    PyCharm的安装以及激活成功教程pycharmPyCha 是一种 PythonIDE 带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具 比如调试 语法高亮 Project 管理 代码跳转 智能提示 自动完成 单元测试 版本控制 此外 该 IDE 提供了一些高级功能 以用于支持 Django 框架下的专业 Web 开发 引言对于很多学习 python 的小伙伴 一个优秀的编辑器可以提高你 code 的速度 让你专注于思维逻辑的

    2026年3月27日
    2
  • L2正则化方法

    L2正则化方法在机器学习中 无论是分类还是回归 都可能存在由于特征过多而导致的过拟合问题 当然解决的办法有 1 减少特征 留取最重要的特征 2 惩罚不重要的特征的权重 但是通常情况下 我们不知道应该惩罚哪些特征的权重取值 通过正则化方法可以防止过拟合 提高泛化能力 先来看看 L2 正则化方法 对于之前梯度下降讲到的损失函数来说 在代价函数后面加上一个正则化项 得到 https www cnblogs

    2026年3月17日
    2
  • cmd切换盘符命令

    cmd切换盘符命令cmd切换盘符

    2022年10月4日
    7
  • Visual Studio中C++关于Unicode字符集和多字节字符集

    Visual Studio中C++关于Unicode字符集和多字节字符集1.Unicode字符集  原本标准字符集为8位的ASCII码,但世界上的书写语言不能简单地用256个8位代码即一字节表示,就试更宽的值,例如16位值。这就是Unicode非常简单的原理。与混乱的256字符代码映射,以及含有一些单字节代码和一些双字节代码的双字节字符集不同,Unicode是统一的16位系统,这样就允许表示65536个字符。在这里会高兴地告诉你前128个Unicode字符(1

    2025年7月24日
    5
  • Java中各种死锁详细讲述及其解决方案(图文并茂,浅显易懂)

    Java中各种死锁详细讲述及其解决方案(图文并茂,浅显易懂)1 简介在遇到线程安全问题的时候 我们会使用加锁机制来确保线程安全 但如果过度地使用加锁 则可能导致锁顺序死锁 Lock OrderingDead 或者有的场景我们使用线程池和信号量来限制资源的使用 但这些被限制的行为可能会导致资源死锁 ResourceDead 这是来自 Java 并发必读佳作 JavaConcurre 关于活跃性危险中的描述 我们知道 Java 应用程序不像数据库服务器 能够检测一组事务中死锁的发生 进而选择一个事务去执行 在 Java 程

    2026年3月16日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号