如何在php中格式化带有00前缀的数字?

mik*_*e23 33 php format numbers

我正在尝试生成发票号码.它们应始终为4个数字,前导零,例如:

  • 1 - >发票0001
  • 10 - >发票0010
  • 150 - >发票0150

等等

Wis*_*guy 73

使用str_pad().

$invID = str_pad($invID, 4, '0', STR_PAD_LEFT);

  • @Dave使用`printf`函数是一种同样有效的方法,但由于Invoice ID不会被用作数字(从数学上讲),将它们视为这样的字符串只是另一种方法.如果存在非数字的发票ID(例如,"order 001F3"),则将其作为字符串. (2认同)

Chr*_*ker 22

使用sprintf:http://php.net/function.sprintf

$number = 51;
$number = sprintf('%04d',$number);
print $number;
// outputs 0051


$number = 8051;
$number = sprintf('%04d',$number);
print $number;
// outputs 8051
Run Code Online (Sandbox Code Playgroud)

  • pfft,将8改为4 ......我正在展示这个概念. (5认同)