在PHP中,如何添加零填充数字字符串并保留零填充?
如果我在PHP中有一个包含在PHP中,如何添加零填充数字字符串并保留零填充?,php,variables,string-formatting,zero-pad,Php,Variables,String Formatting,Zero Pad,如果我在PHP中有一个包含0001的变量,并向其中添加1,则结果是2,而不是0002 如何解决此问题?另一个选项是函数 $foo = sprintf('%04d', $foo + 1); $text = str_pad($text, 4, '0', STR_PAD_LEFT); 它可能会帮助您理解PHP数据类型,以及当您对各种类型的变量进行操作时,它们是如何受到影响的。你说你有一个“PHP中的变量,比如0001”,但是这个变量是什么类型的?可能是字符串“0001”,因为整数不能有该值(它只有
0001
的变量,并向其中添加1,则结果是2,而不是0002
如何解决此问题?另一个选项是函数
$foo = sprintf('%04d', $foo + 1);
$text = str_pad($text, 4, '0', STR_PAD_LEFT);
它可能会帮助您理解PHP数据类型,以及当您对各种类型的变量进行操作时,它们是如何受到影响的。你说你有一个“PHP中的变量,比如0001”,但是这个变量是什么类型的?可能是字符串“0001”,因为整数不能有该值(它只有1)。所以当你这样做的时候:
echo ("0001" + 1);
“+
操作符说,“嗯,这是一个字符串和一个整数。我不知道如何添加字符串和整数。但我知道如何将字符串转换为整数,然后将两个整数相加,让我来做吧。”然后它将“0001”转换为1。为什么?因为将字符串转换为整数的PHP规则表示,字符串中的任何前导零都将被丢弃。这意味着字符串“0001”变为1
然后,+
说,“嘿,我知道如何加1和1。它是2!”该语句的输出是2。
<?php
#how many chars will be in the string
$fill = 6;
#the number
$number = 56;
#with str_pad function the zeros will be added
echo str_pad($number, $fill, '0', STR_PAD_LEFT);
// The result: 000056
?>