php生成排队编号0001 0002,如何编写一个函数来生成字符串,如A0001,A0002,.. A9999,... AA0001,AA9999,... AZ0001,AZ9999,...

本文介绍如何在PHP中使用base_convert函数和36进制编码,生成4-6位的唯一ID,如A0001至ZZ9999,并探讨了在MySQL中可能的实现方式。通过示例展示了如何加密和解密这些短ID,以减小存储空间需求。
摘要由CSDN通过智能技术生成

如何在PHP中编写函数来生成字符串

A0001,A0002,..A9999,... AA0001,AA9999,... AZ0001,AZ9999,...

另外,如果它有可能在mysql中编写函数,请让我知道。

我要为数据库中的记录定义唯一ID,

所以我需要生成唯一的ID。

现在我在桌上使用自动增量。现在它触摸8位数字,所以我需要将它最小化为4到6位数字。我的一个朋友说使用这个公式,所以你会尽量减少你的唯一ID的长度。

A9999 = 9,999 Records

AA0001 to AZ9999 = 259,974 Records

AA0001 to ZZ9999 = 175,742,424 Records或者如果你有任何其他想法,请给我。

提前致谢。

我的问题的GOT解决方案

感谢您的建议和想法,@thecoshman帮助我几乎解决了我的问题。

function encodeItemBarcode($number) {

$number = base_convert($number, 10, 36);

$number = strtoupper($number);

return $number;

}

function decodeItemBarcode($number) {

$number = base_convert($number, 36, 10);

$number = strtoupper($number);

return $number;

}输出:

999999999991 Encrypted as : CRE66I9J - Decrypted as : 999999999991

999999999992 Encrypted as : CRE66I9K - Decrypted as : 999999999992

999999999993 Encrypted as : CRE66I9L - Decrypted as : 999999999993

999999999994 Encrypted as : CRE66I9M - Decrypted as : 999999999994

999999999995 Encrypted as : CRE66I9N - Decrypted as : 999999999995

999999999996 Encrypted as : CRE66I9O - Decrypted as : 999999999996

999999999997 Encrypted as : CRE66I9P - Decrypted as : 999999999997

999999999998 Encrypted as : CRE66I9Q - Decrypted as : 999999999998

999999999999 Encrypted as : CRE66I9R - Decrypted as : 999999999999所以最后我把12位数字(999999999991)最小化为8个字符(CRE66I9J)。我不会将它存储在数据库中,我只会在前端使用它。

再次感谢All。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值