0

我有这个变量$value1= 000001;,如您所见,它包含一些以 0 开头的数字。

我想要的是在变量中添加“1”,这样当我回显时它看起来像这样000002。再例如,如果变量是这样的,$value1= 012001;我想让它看起来像012002.

我试过像下面这样,但它产生的结果只有“2”

$value1= 000001;  
echo $value+1;

你能告诉我如何实现这一目标吗?

谢谢 :)

4

4 回答 4

2

有很多方法可以做到这一点,这里有一个不同的方法:

$value1 = '000101';

$strLen = strlen($value1);
$value  = (((int) $value1) + 1);
echo str_pad($value, $strLen, '0', STR_PAD_LEFT);

php test.php 000102

于 2012-08-23T01:46:11.510 回答
1

使用 printf

<?php 
$value1 = 2;
printf("%06d", 2);

更正: number_format 在这里没有用,将其删除。

附录:除非您打算使用八进制数字,否则不要以 0 开头的数字文字,因为 PHP 将以 0 开头的数字解释为八进制。

于 2012-08-23T01:35:16.483 回答
1

我会选择str_pad,因为它更快,更重要的是:比printf(number_format在这里不相关) 更具可读性。echo str_pad($value+1, 6, '0', STR_PAD_LEFT);

于 2012-08-23T01:36:16.240 回答
0
$value1= 000001;
printf( "%06d", $value + 1 );
于 2012-08-23T01:38:32.923 回答