生成前导0的整数

时间:2011-05-05 10:51:25

标签: php

我有一个项目,我必须生成从00000到99999的随机数。 随机化不是我被卡住的地方,但它始终需要5个字符的事实是。因此,当它生成数字14时,我希望它为00014。

实现这一目标的最佳方法是什么?

4 个答案:

答案 0 :(得分:11)

sprintf()可以做到这一点:

echo sprintf('%05d', 0);

或使用str_pad() - 但代码中的时间稍长:

echo str_pad(0, 5, 0, STR_PAD_LEFT);

答案 1 :(得分:6)

str_pad()能够完成您需要完成的代码。

简单地:

$s = str_pad('14', 5, '0', STR_PAD_LEFT);

答案 2 :(得分:3)

  

生成前导0的整数

整数永远不会有前导0。

如果您需要前导0,您需要将整数转换为字符串 - >看看thephpdeveloper的答案。这是将带有前导0的数字写入数据库的正确方法 - 例如。

如果您想使用该整数(例如用于计算),最好将整数保留为整数(不要更改为字符串),并且每次需要输出这些数字时 - >采取“Stefan Gehrig”的解决方案

答案 3 :(得分:0)

即使substr()也可以这样做:

print substr('0000' . $myRandomNumber, -5);

(不是我会推荐这个。只是想贡献:))