-1

我有以下代码使用 php 范围创建从 0-99 的数字的选择元素。我尝试将 00 添加到这样的范围中,但没有成功: range(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

4 回答 4

5

关于输出。

<? printf('%02d', $trucknum); ?>
于 2013-02-01T20:58:36.830 回答
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>
于 2013-02-01T20:58:45.947 回答
1

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

于 2013-02-01T20:58:51.627 回答
1

这行得通<?php echo sprintf('%02d', $i); ?>

于 2014-11-19T06:20:48.850 回答