简体   繁体   English

PHP范围使用两位数代替一位

[英]PHP range use two digit instead of one

i have the following code to create a select element of numbers from 0-99 using php range. 我有以下代码使用php range创建一个数字从0-99的选择元素。 I've tried to add the 00 to the range like this with no luck: range(00, 99) but it still just lists a single digit like 2 instead of 02. How do I alter this? 我试图将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>

在输出上。

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

Use str_pad() : 使用str_pad()

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

In your code: 在您的代码中:

<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>

$trucknum is a numeric value, you will have to format the output to add leading zeroes when needed. $ trucknum是一个数字值,您将必须格式化输出以在需要时添加前导零。 See http://php.net/manual/en/function.printf.php 参见http://php.net/manual/en/function.printf.php

this worked <?php echo sprintf('%02d', $i); ?> 这工作<?php echo sprintf('%02d', $i); ?> <?php echo sprintf('%02d', $i); ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM