循环在整数之前删除零[重复]
Posted
技术标签:
【中文标题】循环在整数之前删除零[重复]【英文标题】:Loop Removes Zero Before Integer [duplicate] 【发布时间】:2017-04-14 19:19:33 【问题描述】:如果我的循环运行 3 次,则输出为 0001,2,3
,但我需要
0001
0002
0003
我如何得到这个输出?
$i='0001';
foreach($test as $rows)
echo $i;
echo '<br/>';
$i++;
【问题讨论】:
以$i = 1
开头,然后您可以在需要显示它们时添加前导零。
【参考方案1】:
使用printf
和填充说明符,例如:
$test = range(1,11);
$i = 0;
foreach ($test as $rows)
printf("%04d<br/>\n", ++$i);
输出
0001<br/>
0002<br/>
0003<br/>
0004<br/>
0005<br/>
0006<br/>
0007<br/>
0008<br/>
0009<br/>
0010<br/>
0011<br/>
在本例中,04
是一个填充说明符,表示数字 (d
) 最多填充 4 个零。
【讨论】:
尽其所能,我会说。【参考方案2】:你可以作弊一点,
$i = "1";
$y = "000"; //Added this
while ($i < 4)
echo $y . $i;
$i++;
基本上你每次都在数字前面回显 000。
【讨论】:
好吧.. 如果循环运行超过 9 次,结果将变成类似于 '00010' 的东西,这可能不是 OP 想要的。 Ruslans 的答案可能更适合 OP 的需求。编辑:好吧,我刚刚意识到 Ruslans 的答案也会输出 00010 。 (edit2:不是在他的编辑之后) 如果 ($i >= 10)做某事。但你可能是对的:) 不是一个很好的解决方案。 没错,但它是一个。我认为鲁斯兰的回答是最好的。【参考方案3】:您可以使用str_pad()
$i = "0001";
for($j=0;$j<1000;$j++)
echo str_pad($i++, 4, '0', STR_PAD_LEFT);
echo "<br/>";
【讨论】:
以上是关于循环在整数之前删除零[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在删除之前等待重复的 CAAnimation 完成一个循环