【发布时间】:2014-01-04 23:27:15
【问题描述】:
对于我的域,我正在尝试开发一个 ID 生成器,它可以创建一个唯一 ID,然后可以将其用于短链接(就像 URL 缩短器一样)。
我考虑过使用md5() 或uniqueid() 来创建该ID。但是为了使 URL 尽可能短,这样做并不明智,因为它传递了大量的 ID,因此字符串/ID 会毫无必要地变长。
现在PHP's string incrementation 提供了一种有趣的方式。我可以这样做:
$d = 'A08';
for ($n=0; $n<60; $n++) {
echo ++$d . PHP_EOL;
}
// Outputs: A09 .. A68
但这只会给我从A09 到A68 的所有字符串。所以我设置了$d = '000',以便从那里开始。但现在它只返回从1 到60 的整数,而不是字符串。
如何强制 PHP 从 000 通过 AAA 增加到 ZZZ?
可以这么说,我想要一个 ID,而不是从 0 到 9 到 A 到 Z 和 a 到 z。
0, 1, 2, .., 9, A, .., Z, a, .., z
然后将第二个字符添加到id:
00, 01, 02, .., 09, 0A, .., 0Z, 0a, .., 0z
【问题讨论】:
标签: php increment sequential