0
$second= 3113;
for ($i = 0000; $i < 7000; $i += 100) { 
     $a=$second.$i;// 31130
     ...
}

这将输出:

31130
3113100
3113200

我需要的:

31130000 
31130100 
31130200 

你如何解决这个问题?

4

2 回答 2

4

数字将始终显示为修剪零。您可以强制使用一定数量的零,sprintf如下所示:

$a = $second.sprintf("%04s",$i); // 31130000
于 2013-03-05T17:11:22.720 回答
0

请改用以下代码:

$second= 3113;
for ($i = 0000; $i < 7000; $i += 100) { 
     $a=$second.($i>0?($i>=1000?$i:"0".$i):"0000");// 3113000
     ...
}

这将检查是否$i大于 0。如果不是,它将输出“0000”。

如果$i小于 1000,它将在开头添加一个 0。

于 2013-03-05T17:12:53.530 回答