php位数不够自动0填充补齐的例子
如果要自动生成学号,自动生成某某编号,就像这样的形式“d0000009”、“d0000027”时,那么就会面临一个问题,怎么把左边用0补齐成这样8位数的编码呢?我想到了两种方法实现这个功能。
方法一:
先构造一个数字10000000,千万,也就是一个1,7个0,然后加上当前的编号(比如是3),那么就得到 10000003,用字符串截取 substr('10000003',1,7)后就得到0000003,最后在与“d”拼接,就得到了最终的编号d0000003。
源码如下:
<?php $num = 3; $temp_num = 10000000; $new_num = $num + $temp_num; $real_num = "d" . substr($new_num, 1, 7); //即截取掉最前面的“1” echo $real_num; ?>
方法二:
测出当前编号(比如是3)的长度strlen('3')=1,用要生成编号的总长度减去当前编号长度,得到需要填充0的个数,然后再用for循环填充0即可。
源码如下:
<?php $num = 3; $bit = 7; //产生7位数的数字编号 $num_len = strlen($num); $zero = ''; for ($i = $num_len; $i < $bit; $i++) { $zero.= "0"; } $real_num = "d" . $zero . $num; echo $real_num; ?>
教程链接:http://www.phprm.com/code/61323.html
随意转载~但请保留教程地址★