自定义样式的数字增量

时间:2010-07-09 07:12:57

标签: php formatting numbers increment

我试图在循环中做一个数字(十进制)增量,看起来像001 002 003...123,124,但找不到简单的解决方案。我现在想的是检查数字是否很长足够的,如果不是前缀一些“0”。但它似乎不好。任何更好的想法?

感谢。

4 个答案:

答案 0 :(得分:4)

$x = 6    
$y = sprintf("%03d",$x);

http://php.net/manual/en/function.sprintf.php

答案 1 :(得分:1)

for($i=1;$i<1000;$i++){
  $number = sprintf("%03d",$i);
  echo "$number <br />";
}

答案 2 :(得分:1)

立即想到两个选项。首先,尝试str_pad()。它完全符合您的描述。

其次,你可以像其他人所建议的那样使用sprintf()

答案 3 :(得分:1)

如果您不确定各种数字将会持续多长时间(例如,它们是动态确定的,并且无法知道它们将会发生什么事情),您可以使用以下代码:

<?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);

?>
相关问题