我有一个生成随机数的函数,如:
$int = random_number();
一般来说,结果是6位数,但有时候最终会少于6位数。如果数字小于6位,如何为数字添加零?例如,如果$int
为12345
,我会将其转为123450
。
我可以通过以下方式轻松完成此操作:
if (strlen($int) == 5) {
$int = $int.'0';
} elseif(strlen($int) == 4){
$int = $int.'00';
} //etc
但显然必须有更好的方法吗?
答案 0 :(得分:2)
答案 1 :(得分:1)
通常sprintf
可用于此目的,但会添加前导零,这不是OP问题。
$padded = sprintf('%06d', 123);
对于 Ivar ( 中)中提到的{{3>} 尾随零,以下代码将起作用:
$padded = sprintf('%-06s', 123);
可以使用尾随零 sprintf
。
$padded = str_pad($num, 6, '0', STR_PAD_RIGHT);
注意:
STR_PAD_RIGHT
是默认参数,因此可以省略。
答案 2 :(得分:-1)
如果您没有使用带有额外参数的随机数,也可以使用rand(100000,999999);
。
答案 3 :(得分:-1)
{{1}}
很简单,我们只乘以10 * 10 * 10(缺失数字的数量)。