php中数字可以加字符吗,字母数字在PHP中增加一个字符串(到一定长度)

标签:php

我需要使用字母数字增量器生成一个序列(或函数来获取“下一个id”).

字符串的长度必须是可定义的,字符必须是0-9,A-Z.

例如,长度为3:

000

001

002

~

009

00A

00B

~

00Z

010

011

etc..

所以我想这个函数可能会像这样使用:

$code = '009'

$code = getNextAlphaNumeric($code);

ehco $code; // '00A'

我自己正在努力解决这个问题,但很奇怪,如果有人之前已经解决了这个问题,并想出一个比我自己更聪明/更强大的解决方案.

有没有人有一个很好的解决这个问题的方法?

解决方法:

像base_convert这样的东西会起作用吗?也许沿着这些方向(未经测试)

function getNextAlphaNumeric($code) {

$base_ten = base_convert($code,36,10);

return base_convert($base_ten+1,10,36);

}

我们的想法是你的代码实际上只是一个基数为36的数字,所以你将那个基数为36的数字转换为基数为10,向它加1,然后将其转换回基数36并返回它.

编辑:刚刚意识到代码中可能存在任意字符串长度,但这种方法可能仍然可行 – 如果先捕获所有前导零,然后将其剥离,则执行基础36 – >基础10转换,添加一个,并添加任何所需的前导零…

标签:php

来源: https://codeday.me/bug/20190716/1480386.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值