$start = 66812;
$end = 66818;for ($start;$start<=$end;$start++){
  $s = sprintf('%07d', $start);
  echo $s . '<br>';
}0066812
0066813
0066814
0066815
0066816
0066817
0066818

解决方案 »

  1.   

    赋值的时候一定要是
    $start = 0066812;
    $end = 0066818;
    前边有两个0
    因为还有种可能是009999到010000,反正09过了就是10,前边就不是两个0了
      

  2.   

    有什么区别吗?
    $start = '0066812';
    $end = '0066818';
     
    for ($start;$start<=$end;$start++){
      $s = sprintf('%07d', $start);
      echo $s . '<br>';
    }0066812<br>0066813<br>0066814<br>0066815<br>0066816<br>0066817<br>0066818<br>但是如果写作 $start = 0066812;
    那就是八进制数,全完蛋了