总是得到x数量的数字

时间:2018-06-11 14:08:40

标签: php

我有一个生成随机数的函数,如:

$int = random_number();

一般来说,结果是6位数,但有时候最终会少于6位数。如果数字小于6位,如何为数字添加零?例如,如果$int12345,我会将其转为123450

我可以通过以下方式轻松完成此操作:

if (strlen($int) == 5) {
   $int = $int.'0';
} elseif(strlen($int) == 4){
   $int = $int.'00';
} //etc

但显然必须有更好的方法吗?

4 个答案:

答案 0 :(得分:2)

strpadding这称为。

见这里: ng-upload

示例:

echo str_pad($yourRandomNumber, 6, "0", STR_PAD_LEFT);

答案 1 :(得分:1)

通常sprintf可用于此目的,但会添加前导零,这不是OP问题。

$padded = sprintf('%06d', 123);

对于 Ivar )中提到的{{3>} 尾随零,以下代码将起作用:

$padded = sprintf('%-06s', 123);

UPD

可以使用尾随零 sprintf

$padded = str_pad($num, 6, '0', STR_PAD_RIGHT);
  

注意:STR_PAD_RIGHT是默认参数,因此可以省略。

答案 2 :(得分:-1)

如果您没有使用带有额外参数的随机数,也可以使用rand(100000,999999);

答案 3 :(得分:-1)

{{1}}

很简单,我们只乘以10 * 10 * 10(缺失数字的数量)。