PHP:将数字转换为固定长度的编码字符串

时间:2013-04-19 11:47:41

标签: php string encoding

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

我尝试使用base64encode为每个数字提供了一个很好的字符串...但对于一位数字我只有3个字符。

任何人都有解决方案吗?

1 个答案:

答案 0 :(得分:2)

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

echo $string;

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