PHP下拉列表 - 添加前导零

时间:2015-02-02 11:57:06

标签: php loops

我有一个简单的下拉列表:

<select name="day" id="day">
    <?php
       for ($i=1; $i<=31; $i++){
            echo "<option value=\"" . $i . "\">" . $i . "</option>";
       }
     ?>
</select>

我需要做的是在数字1到9中添加一个前导零。我不认为我可以在这里使用sprint或pad吗?欢迎任何建议。

4 个答案:

答案 0 :(得分:2)

另一个选择

<select name="day" id="day">
    <?php
       for ($i=1; $i<=31; $i++){
            echo "<option value=\"" . str_pad($i, 2, '0', STR_PAD_LEFT) . "\">" . str_pad($i, 2, '0', STR_PAD_LEFT) . "</option>";
       }
     ?>
</select>

答案 1 :(得分:1)

您可以使用sprintf("%02d", $number)格式化字符串。

答案 2 :(得分:0)

<?php
       $leadingZero;
       for ($i=1; $i<=31; $i++){
           if($i <= 9){
              $leadingZero = 0;
           }
            echo "<option value=\"" . $leadingZero . $i . "\">" . $leadingZero. $i . "</option>";
       }
     ?>

答案 3 :(得分:0)

您可以在PHP中使用str_pad

<select name="day" id="day">
    <?php
      $leadingZero;
       for ($i=1; $i<=31; $i++){
          if(i<10)
           $leadingZero =  str_pad($leadingZero,1,"0",STR_PAD_LEFT);
          echo "<option value=\"" . $leadingZero . $i . "\">" . $leadingZero. $i . "</option>";
   }
       }
     ?>
</select>