Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的数字表示问题_Php_String_Integer_Numbers - Fatal编程技术网

php中的数字表示问题

php中的数字表示问题,php,string,integer,numbers,Php,String,Integer,Numbers,这是一件简单的事情,但我没有得到答案 我生成的自动生成id与100001年、100002年连接在一起,这10年是0001年,是自动生成编号。当我将年份和数字分开时,得到的“加一”值是0001的2。但我需要as 0002 Adding value is 0001+1, 0002+1, 0010+1, 0099+1 Now the answer are 2, 3, 11, 100 like that But i need like that 0002,0003,0011,0100 提前谢谢 $

这是一件简单的事情,但我没有得到答案

我生成的自动生成id与100001年、100002年连接在一起,这10年是0001年,是自动生成编号。当我将年份和数字分开时,得到的“加一”值是0001的2。但我需要as 0002

Adding value is 0001+1, 0002+1, 0010+1, 0099+1

Now the answer are 2, 3, 11, 100 like that

But i need like that 0002,0003,0011,0100
提前谢谢

$var = sprintf ('%04d', $var);


请参阅。

您可以使用好的旧sprintf格式化数字

$a = 1;
$f = sprintf("%06s", $a);
echo $f;
应打印“000001”


文档:

您可以使用好的旧sprintf格式化数字

$a = 1;
$f = sprintf("%06s", $a);
echo $f;
应打印“000001”


文档:

0001不是数字,而是字符串。当您向其中添加1时,PHP会将其转换为一个数字(1),然后向其中添加1,最后得到2。您要做的是用0填充数字,将其转换回字符串。正如其他人所建议的,您可以使用sprintf或stru-pad

str_pad(1, 4, '0', STR_PAD_LEFT);

0001不是一个数字,它是一个字符串。当您向其中添加1时,PHP会将其转换为一个数字(1),然后向其中添加1,最后得到2。您要做的是用0填充数字,将其转换回字符串。正如其他人所建议的,您可以使用sprintf或stru-pad

str_pad(1, 4, '0', STR_PAD_LEFT);

为什么0011+1应该是11-或0101+1应该是100?为什么0011+1应该是11-或0101+1应该是100?