PHP范围使用两位数而不是一位数

时间:2013-02-01 20:56:42

标签: php

我有以下代码使用php范围创建一个0-99的数字选择元素。我试图将00添加到这样的范围而没有运气:范围(00,99)但它仍然只列出一个数字,如2而不是02.我该如何改变它?

<select name="Vehic" id="Vehic" >
  <option value="">Truck</option>
  <?php 
        foreach (range(0, 99) as $trucknum) { ?>
  <option value="<?php echo($trucknum); ?>"><?php echo($trucknum); ?></option>
  <?php } ?>
</select>

4 个答案:

答案 0 :(得分:5)

输出。

<? printf('%02d', $trucknum); ?>

答案 1 :(得分:2)

使用str_pad()

echo str_pad($trucknum, 2, '0',  STR_PAD_LEFT);

在您的代码中:

<select name="Vehic" id="Vehic" >
  <option value="">Truck</option>
  <?php 
        foreach (range(0, 99) as $trucknum) { ?>
          <?php
            $trucknumStr = str_pad($trucknum, 2, '0',  STR_PAD_LEFT);
          ?>
          <option value="<?php echo($trucknum); ?>"><?php echo($trucknumStr); ?></option>
  <?php } ?>
</select>

答案 2 :(得分:1)

$ trucknum是一个数值,您必须格式化输出以在需要时添加前导零。见http://php.net/manual/en/function.printf.php

答案 3 :(得分:1)

这有效<?php echo sprintf('%02d', $i); ?>