在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]

Posted

技术标签:

【中文标题】在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]【英文标题】:Convert 1 to 001 , 2 to 002 etc and 99 to 099 etc in php [duplicate] 【发布时间】:2015-12-13 23:33:48 【问题描述】:

我有从 0 到 999 的数字,并希望以给定的格式打印

0   : 000
1   : 001
2   : 002
.
.
.
.
11  : 011
99  : 099
.
.
111 : 111
999 : 999

什么结束号码是 9999 那么号码长度应该是 4 像(0000 , 0001 , 0022 , 0999 等) 最好的方法是什么

【问题讨论】:

你会在这里得到答案:***.com/questions/1699958/… 需要事先手动“找到最大号码长度”,这取决于号码的处理方式和/或存在哪些其他信息。 log(对数)函数在这种情况下可能很有用。 【参考方案1】:

使用printf() 或sprintf()

$variable=3;
echo sprintf("%'03d", $variable);

一个可选的填充说明符,说明将使用什么字符将结果填充到正确的字符串大小。这可能是空格字符或 0(零字符)。默认是用空格填充。可以通过在其前面加上单引号 (') 来指定备用填充字符。请参阅下面的示例。

【讨论】:

或者sprintf,如果你想返回字符串而不是打印它。【参考方案2】:

试试str_pad($n, 3, '0', STR_PAD_LEFT),$n 是你的号码

【讨论】:

【参考方案3】:

你可以使用这个功能:

function formatNbr($nbr)
if ($nbr < 10)
    return "00".$nbr;
elseif ($nbr >= 10 && $nbr < 100 )
    return "0".$nbr;
else
    return strval($nbr);

【讨论】:

【参考方案4】:
echo sprintf("%0".strlen($number)."d" , $number); 

【讨论】:

以上是关于在php中将 1 转换为 001 ,将 2 转换为 002 等,将 99 转换为 099 等 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在php中将分钟转换为秒

在 BigQuery 中将列转换为数组

在 PHP 中将 UTC 日期转换为本地时间

在 php 中将 XML 文档转换为数组时,有没有办法将其转换回来并将其保存为属性为元素的 XML 文件?

如何在 php 中将 Json 转换为 CSV

如何在php中将0.5转换为50