在php中用两位数递增数字[重复]
Posted
技术标签:
【中文标题】在php中用两位数递增数字[重复]【英文标题】:Incrementing numbers with double digits in php [duplicate] 【发布时间】:2015-03-18 16:31:45 【问题描述】:如果数字小于 10,我想用两位数递增数字
这是我迄今为止尝试过的
$i = 1;
echo $i++;
结果是 1,2,3,4,5,6 以此类推
然后我尝试添加一个条件
$i = 1;
if ($i++<10)
echo "0".$i++;
else
echo $i++;
工作但跳过数字 2、4、6、8 等等。
谁能告诉我正确的做法?
【问题讨论】:
您将$i
增加两次。
只使用str_pad
见:php.net/manual/en/function.str-pad.php
【参考方案1】:
如果条件只存在于前导零,您可以通过以下方式更轻松地做到这一点:
<?php
$i = 10;
printf("%02d", $i++);
?>
【讨论】:
第二行可以更简单,将echo()
和sprintf()
(格式化字符串并返回)替换为printf()
(格式化字符串并输出)。
非常感谢它就像一个魅力。【参考方案2】:
如果你想在字符串前面添加一些内容:
echo str_pad($input, 2, "0", STR_PAD_LEFT); //see detailed information http://php.net/manual/en/function.str-pad.php
【讨论】:
【参考方案3】:在第二个代码片段中,您将 $i
增加了两次,这就是为什么您只能得到偶数。
增加一个数字是一回事,使用特定格式呈现它是另一回事。不要混合它们。
保持简单:
// Increment $i
$i ++;
// Format it for display
if ($i < 10)
$text = '0'.$i; // Prepend values smaller than 10 with a zero
else
$text = $i;
// Display it
echo($text);
【讨论】:
或者,正如this answer 所解释的那样,使用sprintf()
而不是if
块。【参考方案4】:
<?php
$i = 1;
for($i=1;$i<15;)
if($i<10)
echo '0'.$i++."<br>";
else
echo $i++."<br>";
?>
【讨论】:
以上是关于在php中用两位数递增数字[重复]的主要内容,如果未能解决你的问题,请参考以下文章