我有一个变量,其值为1234567。

我希望它包含8位数字,即01234567。

有PHP函数吗?


当前回答

假设值为$value:

呼应它: 08年printf (" % d”,美元值); 要得到它: $formatted_value = sprintf("%08d", $value);

这样应该可以了

其他回答

当我需要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

虽然我不太确定您想要做什么,但您可能正在寻找sprintf。

这就是:

$value = sprintf( '%08d', 1234567 );

假设值为$value:

呼应它: 08年printf (" % d”,美元值); 要得到它: $formatted_value = sprintf("%08d", $value);

这样应该可以了

你总是可以滥用类型杂耍:

function zpad(int $value, int $pad): string {
    return substr(1, $value + 10 ** $pad);
}

如果10 ** pad > INT_MAX或>= 10 * pad,这将无法正常工作。