PHP显示01而不是1 [重复]

Posted

技术标签:

【中文标题】PHP显示01而不是1 [重复]【英文标题】:PHP display 01 instead of 1 [duplicate] 【发布时间】:2013-01-16 17:41:45 【问题描述】:

可能重复:Formatting a number with leading zeros in php

我正在用 php 填充一个选择框。

这是代码:

$select_month_control = '<select name="month" id="month">';
for($x = 1; $x <= 12; $x++) 
$select_month_control.= '<option value="'.$x.'"'.($x != $month ? '' : ' selected="selected"').'>'.date('F',mktime(0,0,0,$x,1,$year)).'</option>';

$select_month_control.= '</select>';

这是在创造这个:

<select id="month" name="month">
<option value="1">January</option>
<option value="2">February</option>
<option value="3">March</option>
<option value="4">April</option>
<option value="5">May</option>
<option value="6">June</option>
<option value="7">July</option>
<option value="8">August</option>
<option selected="selected" value="9">September</option>
<option value="10">October</option>
<option value="11">November</option>
<option value="12">December</option>
</select>

问题是我需要将 1、2、3 等设为 01、02、03 等...像这样:

<option value="01">January</option>

代替:

<option value="1">January</option>

我该怎么做?

【问题讨论】:

你知道sprintf吗?试试 echo sprintf('%02d', 1); 见这里:***.com/questions/1699958/… 你用十进制显示selected,也可以用于选项值:( strlen($x)==1? '0'.$x: $x ) 【参考方案1】:

您可以使用sprintf("%02d", $number) 来格式化字符串。

编辑:有关格式字符串的更多信息,请参阅http://www.php.net/manual/en/function.sprintf.php

【讨论】:

【参考方案2】:

用户str_pad 参考:http://php.net/manual/en/function.str-pad.php

$select_month_control = '<select name="month" id="month">';
for($x = 1; $x <= 12; $x++) 
$select_month_control.= '<option value="'.str_pad($x, 2, "0", STR_PAD_LEFT).'"'.($x != $month ? '' : ' selected="selected"').'>'.date('F',mktime(0,0,0,$x,1,$year)).'</option>';

$select_month_control.= '</select>';

【讨论】:

您的代码有语法错误。下次从某处复制一行时请仔细检查;)【参考方案3】:

您可能想尝试在循环中使用 str_pad() 函数:

str_pad — 用另一个字符串填充一个字符串到一定长度

for($x = 1; $x <= 12; $x++) 
  $value = str_pad($x,2,"0",STR_PAD_LEFT);
  $select_month_control.= '<option value="'.$value.'">'.$value.'</option>';

【讨论】:

以上是关于PHP显示01而不是1 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Apache 显示 PHP 代码而不是执行它

为啥使用用户定义的异常而不是简单地显示错误消息[重复]

我想从mysql数据库中检索图像,但它显示的是字符而不是图像[重复]

PHP文件在浏览器中打开而不是运行[重复]

按钮类型=使用php isset而不是输入类型按钮提交[重复]

值开头的0未显示在输出中[重复]