我有一个简单的下拉列表:
<select name="day" id="day">
<?php
for ($i=1; $i<=31; $i++){
echo "<option value=\"" . $i . "\">" . $i . "</option>";
}
?>
</select>
我需要做的是在数字1到9中添加一个前导零。我不认为我可以在这里使用sprint或pad吗?欢迎任何建议。
答案 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>