我有一个变量,其值为1234567。
我希望它包含8位数字,即01234567。
有PHP函数吗?
我有一个变量,其值为1234567。
我希望它包含8位数字,即01234567。
有PHP函数吗?
当前回答
你总是可以滥用类型杂耍:
function zpad(int $value, int $pad): string {
return substr(1, $value + 10 ** $pad);
}
如果10 ** pad > INT_MAX或>= 10 * pad,这将无法正常工作。
其他回答
您需要的是Sprintf。
编辑(在某种程度上被downvotes要求),从上面链接的页面,这里有一个“零填充整数”示例:
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
当我需要01而不是1时,下面的方法对我有用:
$number = 1;
$number = str_pad($number, 2, '0', STR_PAD_LEFT);
$no_of_digit = 10;
$number = 123;
$length = strlen((string)$number);
for($i = $length;$i<$no_of_digit;$i++)
{
$number = '0'.$number;
}
echo $number; /////// result 0000000123
echo str_pad("1234567", 8, '0', STR_PAD_LEFT);
假设值为$value:
呼应它: 08年printf (" % d”,美元值); 要得到它: $formatted_value = sprintf("%08d", $value);
这样应该可以了