在for循环中设置变量2位数

时间:2015-10-14 15:31:23

标签: php html select

我这里有一个愚蠢的问题;我正在尝试用一个表单,一个用户启动的时间选择,以及他们完成的时间,所以从逻辑上讲,我想将时间显示为: 00 01 02 ..我的意思是,2位数

但是虽然我把00作为$ i的初始值,但它仍然只显示1位数!

我可以将它设置为两位数吗?

enter image description here

谢谢!

<div class="interval">
                 <input type="checkbox" id="interval_check"/>
                <div id="desde">
                  De: <select class="hores" name="hores" disabled>
                    <?php for ($i = 00; $i <= 23; $i++) : ?>
                      <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                  <?php endfor; ?>
                </select>:<select class="minuts" name="minuts" disabled>
                    <?php for ($i = 00; $i <= 45; $i+=15) : ?>
                      <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                  <?php endfor; ?>
                </select>
                </div> <div id="fins">
                fins: <select class="hores" name="hores" disabled>
                    <?php for ($i = 00; $i <= 23; $i++) : ?>
                      <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                  <?php endfor; ?>
                </select>:<select class="minuts" name="minuts" disabled>
                    <?php for ($i = 00; $i <= 45; $i+=15) : ?>
                      <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
                  <?php endfor; ?>
                </select>
                 </div>
                  </div>

1 个答案:

答案 0 :(得分:2)

只需使用sprintf为您创建字符串。

 <?php for ($i = 0; $i <= 23; $i++) : ?>
       <option value="<?php echo $i; ?>">
         <?php echo sprintf("%02d", $i); ?>
       </option>
 <?php endfor; ?>

如果字符串少于2个字符,则会添加0。我假设你不关心价值。