iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php如何生成不重复的序列号
  • 469
分享到

php如何生成不重复的序列号

2023-06-06 16:06:50 469人浏览 八月长安
摘要

这篇“PHP如何生成不重复的序列号”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php如何生成不重复的序列号”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们

这篇“PHP如何生成不重复的序列号”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php如何生成不重复的序列号”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们一起来看看具体内容吧。

php有什么用

php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、Perl以及php自创新的语法,主要用来做网站开发,许多小型网站都用php开发,因为php是开源的,从而使得php经久不衰。

php生成不重复的序列号的方法:1、通过“str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);”方式生成不重复的序列号;2、通过implode和array_map等函数实现生成不重复的序列号。

PHP生成唯一不重复编号的方法汇总

PHP如何生成唯一不重复编号?很多时候,比如订单都需要我们生成唯一编号。在常规情况下,PHP提供的uniqid()能够满足需求,但是在高并发的时候,我们就需要更好的方案来生成唯一不重复编号。本文将分享实例代码,希望对大家有所帮助。

前阵子有个电子商务项目,需要生成订单号。当时的考虑很简单,取系统时间加上随机数,或者使用 uniqid() 方法。仔细考虑下上述方法,在顾客购买量少的情况下,订单重复的可能性为零,但是在购买高蜂期生成的订单号重复是很有可能发生的。

第一种

return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);

第二种

return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);

第三种

//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN,NNNN-CC,其中:YYYY=年份,MM=月份,DD=日期,HH=24格式小时,II=分,SS=秒,NNNNNNNN=随机数,CC=检查码 @date_default_timezone_set("PRC"); while(true){  //订购日期  $order_date = date('Y-m-d');  //订单号码主体(YYYYMMDDHHIISSNNNNNNNN)  $order_id_main = date('YmdHis') . rand(10000000,99999999);  //订单号码主体长度  $order_id_len = strlen($order_id_main);  $order_id_sum = 0;  for($i=0; $i<$order_id_len; $i++){  $order_id_sum += (int)(substr($order_id_main,$i,1));  }  //唯一订单号码(YYYYMMDDHHIISSNNNNNNNNCC)  $order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);

第四种:

在网上找了一番,发现这位同学的想法挺不错的,redtamo,具体的请稳步过去看看,我作简要概述,该方法用上了英文字母、年月日、Unix 时间戳和微秒数、随机数,重复的可能性大大降低,还是很不错的。使用字母很有代表性,一个字母对应一个年份,总共16位,不多也不少,呵呵。

<?php$yCode = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J');$orderSn = $yCode[intval(date('Y')) - 2011] . strtoupper(dechex(date('m'))) . date('d') . substr(time(), -5) . substr(microtime(), 2, 5) . sprintf('%02d', rand(0, 99));?>

生成效果:

A422694333616096

感谢你的阅读,希望你对“php如何生成不重复的序列号”这一关键问题有了一定的理解,具体使用情况还需要大家自己动手实验使用过才能领会,快去试试吧,如果想阅读更多相关知识点的文章,欢迎关注编程网PHP编程频道!

--结束END--

本文标题: php如何生成不重复的序列号

本文链接: https://www.lsjlt.com/news/247899.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php如何生成不重复的序列号
    这篇“php如何生成不重复的序列号”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“php如何生成不重复的序列号”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让我们...
    99+
    2023-06-06
  • PHP如何随机生成18位不重复的订单号
    这篇文章主要介绍PHP如何随机生成18位不重复的订单号,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!PHP代码: function generateOrderNumber($length=4){/...
    99+
    2023-06-07
  • php如何生成永不重复的字符串
    这篇文章主要介绍“php如何生成永不重复的字符串”,在日常操作中,相信很多人在php如何生成永不重复的字符串问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何生成永不重复的字符串”的疑惑有所帮助!接下来...
    99+
    2023-07-05
  • php如何随机生成不重复字母
    今天小编给大家分享一下php如何随机生成不重复字母的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。php随机生成不重复字母的方...
    99+
    2023-07-04
  • php如何生成6位不重复的字符串
    本篇内容介绍了“php如何生成6位不重复的字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php生成6位不重复的字符串的方法:1、通过“...
    99+
    2023-06-25
  • php如何生成字符串唯一不重复
    小编给大家分享一下php如何生成字符串唯一不重复,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php生成字符串唯一不重复的方法:1、当前时间戳进行md5加密,截取...
    99+
    2023-06-20
  • 使用redis如何生成自增序列号码
    目录Redis生成自增序列号码导入依赖yml 配置工具方法redis生成唯一编号redis生成自增序列号码 导入依赖 <!--redis--> <dependency> <groupId&...
    99+
    2022-11-23
    redis 自增 redis生成自增序列号 redis自增序列号
  • SQL如何使用ROW_NUMBER() OVER函数生成序列号
    这篇文章给大家介绍SQL如何使用ROW_NUMBER() OVER函数生成序列号,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ...
    99+
    2023-06-22
  • php怎么生成永不重复的字符串
    PHP是一种常用的开源脚本语言,它非常流行,因为它功能强大,易学易于使用。PHP中,生成永不重复的字符串是一个常见的需求,它在数据处理、安全验证等方面都有很大的作用。本文将介绍如何基于PHP生成永不重复的字符串,希望能帮助读者更好地理解PH...
    99+
    2023-05-14
    php php字符串
  • 如何用php生成一个不重复的随机4位数字
    这篇文章主要介绍“如何用php生成一个不重复的随机4位数字”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何用php生成一个不重复的随机4位数字”文章能帮助大家解决问题。方法一:使用数组我们可以通过...
    99+
    2023-07-05
  • c语言如何生成不重复的随机数
    在C语言中,可以使用以下步骤生成不重复的随机数:1. 引入头文件 `stdlib.h` 和 `time.h`。```c#include #include ```2. 在程序的开始处使用 `srand` 函数初始化随机数种子,以确保每次运...
    99+
    2023-08-11
    c语言
  • php怎么随机生成不重复字母
    本教程操作环境:Windows7系统、PHP8.1版、Dell G3电脑。php怎么随机生成不重复字母?随机码就是随机生成的一串字符序列,在网页设计中的很多地方都会用到,在PHP中,如何生成大量的不重复的随机码呢?比如,生成5000个由字母...
    99+
    2022-11-19
    php
  • 怎么批量生成MySQL不重复手机号的示例
    这篇文章主要介绍怎么批量生成MySQL不重复手机号的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、生成脚本生成说明:以下使用存储过程批量生成包含用户名,手机号,出生日期等字段...
    99+
    2024-04-02
  • php怎么生成不重复的随机字符串
    PHP中可以使用`uniqid()`函数生成不重复的随机字符串。```php$randomString = uniqid();```...
    99+
    2023-08-25
    php
  • 生成8位随机不重复的数字编号的方法
    复制代码 代码如下: package com.jjinfo.common.util; import java.util.Arrays; import java.util.Random...
    99+
    2022-11-15
    8位随机 数字编号
  • PHP数组打乱顺序时如何避免生成相邻重复元素?
    php shuffle() 可能会生成相邻重复元素。为了避免这种情况,可以使用以下两种方法:使用 a-hash 算法:为每个值生成哈希,仅保留唯一的哈希值对应的值。使用标记和洗牌:标记已...
    99+
    2024-05-02
    php 数组打乱
  • MySQL 存储的生成列与 MySQL 虚拟生成列有何不同?
    以下是MySQL存储生成列和MySQL虚拟生成列之间的一些基本区别:在磁盘空间方面如果从磁盘空间的角度来看,虚拟生成列不会占用任何磁盘空间。另一方面,存储生成列会占用磁盘空间。在操作方面如果从操作的角度来看,虚拟生成列是原地操作,这意味着表...
    99+
    2023-10-22
  • idea如何自动生成序列化id
    要自动生成序列化ID,可以考虑以下几种方法:1. 使用UUID(Universally Unique Identifier):UUI...
    99+
    2023-08-30
    idea
  • Oracle生成不重复票号与LPAD,RPAD与NEXTVAL函数解析
    SELECT TO_CHAR(SYSDATE,'YYMMDD')||LPAD(REFUNDSEQ.NEXTVAL,6,'0') AS RES_ORDER_NO FROM DUAL ...
    99+
    2024-04-02
  • Python如何生成多行重复数据
    这篇“Python如何生成多行重复数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何生成多行重复数据”文章吧...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作