在日期错误前添加0

时间:2012-04-22 18:45:41

标签: php arrays string

我想在单个数字前添加0。

for($i_y=1950; $i<=2012; $i++) $years[]=$i_y;
for($i_m=1; $i<=12; $i++) $months[]=$i_m;
for($i_d=1; $i<=31; $i++) $days[]=$i_d;

尝试

for($i_y=1950; $i<=2012; $i++) $years[]=$i_y;
for($i_m=01; $i<=12; $i++) $months[]=$i_m;
for($i_d=01; $i<=31; $i++) $days[]=$i_d;

这不是那么简单,最正确的方法是什么?

是选择选项

示例

for($i=1; $i<=50; $i++)
$months=$i;

echo '<select name="month" select id="month">';
echo '<option value="">' . __("0" ) . '</option>';
foreach($months as $month){
$selected = '';
echo '<option value="' . $month . '" ' . $selected . '>' . $month . '</option>';
                    }
echo '</select>';

2 个答案:

答案 0 :(得分:5)

使用str_pad

$x = "1";
echo $x; // will output "1"
$y = str_pad($x, 2, "0", STR_PAD_LEFT);
echo $y; // will output "01"

答案 1 :(得分:1)

如果您尝试格式化“2012-04-01”之类的日期,可以使用sprintf()执行此操作:

 $formatted_date = sprintf("%04d-%02d-%02d", $year, $month, $day);