PHP填补数字前后的0

PHP数字填补0

经常会遇到这样的问题:

自然数字是0,1,2,3...而我们需要的却是满足多少多少位数的数字,如:001,002。

在ID,编号,学号中我们会经常用到补全前面或者后面的空位(一般为前面)

例如:班号为0730131,学生有50个,从1-50,我们需要对前10位进行补全0,因为学号必须为9位

解答:

方法1:printf 格式化字符串


$s = "0730131";
for($i=0;$i<50;$i++){
    printf("{$s}%02d\n",$i);
}

输出结果:

不过上述方法用于打印,有时候我们是要赋值操作

方法2:使用str_pad 补全空位

基本格式:str_pad(源字符串, 多少位数, 用来填补的字符串, 左边还是右边);


$s = "0730131";
for($i=0;$i<50;$i++){
    echo $s. str_pad($i,2,0,STR_PAD_LEFT);
    echo "\n";
}

如果要填补右边的位,str_pad最后一个参数使用STR_PAD_RIGHT,表示从右开始补全

效果同方法1!

posted @ 2017-04-12 09:31  devilyouwei  阅读(380)  评论(0编辑  收藏  举报