现在的位置: 首页 -> PHP学习 -> PHP面试题 -> php左边用0填充补齐的两种方法

php左边用0填充补齐的两种方法

2014-05-10 00:13评论数 2 ⁄ 被浏览 2822 views+

如果要自动生成学号,自动生成某某编号,就像这样的形式“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;

?>


(如果有更多好的方法,欢迎与我交流www.daixiaorui.com)

 

文章出自:http://www.daixiaorui.com/read/87.html 本站所有文章,除注明出处外皆为原创,转载请注明本文地址,版权所有。

分享到:

目前有 2 条评论  @我要评论

  1. 2楼Natsu : 2015-11-23 17:28:13 评论说: @回复

    很多时候,偶尔看看手册才发现,其实很多功能都已经封装好了

  2. 1楼sam : 2015-07-26 16:17:45 评论说: @回复

    PHP的内置函数str_pad可以解决上述的问题

    回复留言标识 Model 回复 sam: 蒽蒽

    2016-02-04 13:50:57  @回复

您的每一个评论都是对我的一份支持

 博客二维码

昵称 *

邮箱 *