【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
我有一个包含值1234567
的变量。
我希望它精确地包含8位数字,即01234567
。
是否有PHP函数呢?
#1楼
sprintf
是您所需要的。
在上面链接的页面中,编辑(按某种方式由downvotes请求 ),这里有一个示例“零填充整数”:
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
#2楼
鉴于该值在$ value中:
回显它:
printf("%08d", $value);
为拿到它,为实现它:
$formatted_value = sprintf("%08d", $value);
这应该够了吧
#3楼
使用sprintf
:
sprintf('%08d', 1234567);
另外,您也可以使用str_pad
:
str_pad($value, 8, '0', STR_PAD_LEFT);
#4楼
简单的答案
$p = 1234567;
$p = sprintf("%08d",$p);
我不确定如何解释“永远不会超过8位”的注释,以及它是指输入还是输出。 如果它引用输出,则必须有一个附加的substr()调用来裁剪字符串。
截断前8位数字
$p = substr(sprintf('%08d', $p),0,8);
截断最后8位数字
$p = substr(sprintf('%08d', $p),-8,8);
#5楼
尽管我不确定自己要做什么,但您可能正在寻找sprintf 。
这将是:
$value = sprintf( '%08d', 1234567 );
来源:oschina
链接:https://my.oschina.net/u/3797416/blog/3154944