代码之家  ›  专栏  ›  技术社区  ›  Young

自定义样式的数字增量

  •  2
  • Young  · 技术社区  · 15 年前

    001 002 003...123,124 在一个循环中,找不到简单的解决方案。我现在想的是检查这个数字是否足够长,如果不是加上前缀“0”。但似乎不太好。有更好的主意吗?

    谢谢。

    4 回复  |  直到 15 年前
        1
  •  4
  •   phimuemue    15 年前
    $x = 6    
    $y = sprintf("%03d",$x);
    

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

        2
  •  1
  •   oezi    15 年前
    for($i=1;$i<1000;$i++){
      $number = sprintf("%03d",$i);
      echo "$number <br />";
    }
    
        3
  •  1
  •   Kalium    15 年前

    我马上想到两个选择。首先,试试看 str_pad()

    第二,你可以 sprintf()

        4
  •  1
  •   Dan D.    15 年前

    如果您不确定不同的数字将变成多长时间(例如,它们是动态确定的,直到之后才知道它们是什么),您可以使用以下代码:

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