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!