[英]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); ?>
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.