0

我有很多数字..有些是一位数,有些是多位数字。我需要为每个数字创建一个字符串。该字符串的长度必须为 8 个字符(始终)。

我尝试使用 base64encode,它为每个数字提供了一个不错的字符串……但对于一位数字,我只有 3 个字符。

有人有解决方案吗?

4

1 回答 1

2
$substitutes = range('a', 'j');
$formatted   = sprintf('%010d', $number);
$string      = preg_replace_callback('/./', function ($m) use ($substitutes) {
                   return $substitutes[$m[0]];
               }, $formatted);

echo $string;

这实际上是“蛮力”版本,我相信还有更快的方法可以做到这一点。我会让你把这些和解码算法一起弄清楚。

于 2013-04-19T11:55:35.270 回答