我试图做一个看起来像001 002 003...123,124
循环的数字(十进制)增量,但找不到简单的解决方案。我现在想的是检查数字是否足够长,如果不是前缀一些“ 0"。但似乎不太好。有更好的主意吗?
谢谢。
我试图做一个看起来像001 002 003...123,124
循环的数字(十进制)增量,但找不到简单的解决方案。我现在想的是检查数字是否足够长,如果不是前缀一些“ 0"。但似乎不太好。有更好的主意吗?
谢谢。
$x = 6
$y = sprintf("%03d",$x);
for($i=1;$i<1000;$i++){
$number = sprintf("%03d",$i);
echo "$number <br />";
}
两个选项立即浮现在脑海。首先,尝试str_pad()
。它完全符合您的描述。
其次,您可以sprintf()
按照另一个人的建议使用。
如果您不确定各种数字会变成多长时间(例如,它们是动态确定的,直到之后才知道它们会是什么),您可以使用以下代码:
<?php
$numbers = array();
for ($i = 0; $i < 2000; $i++)
{
$numbers[] = $i;
}
array_walk($numbers, function(&$item, $key, $len) { $item = sprintf('%0'.$len.'d', $item); }, strlen(max($numbers)));
print_r($numbers);
?>