PHP 给数字前面补零 ,固定位数补0

在设计唯一编号的时候,需要固定位数的数字,比如需要固定四位数格式:

比如:

b11a4b1d6d10ea903dcad60c58341cc.png

YSZC 后面的 0001,以下一组数字,如何让它自增呢?

1->0001
56->0056
288->0288
1992->1992

我们可以使用 php 内置函数 str_pad () 函数把字符串填充为新的长度。

str_pad(string,length,pad_string,pad_type)
//参数    描述
string      //必需。规定要填充的字符串。
length      //必需。规定新的字符串长度。如果该值小于字符串的原始长度,则不进行任何操作。
pad_string  //可选。规定供填充使用的字符串。默认是空白。
pad_type    //可选。规定填充字符串的哪边。
            //可能的值:
            STR_PAD_BOTH - //填充字符串的两侧。如果不是偶数,则右侧获得额外的填充。
            STR_PAD_LEFT - //填充字符串的左侧。
            STR_PAD_RIGHT - //填充字符串的右侧。默认。

例子,我写了一个方法,先判断数据表里面有没有数据,没有就初始化 0001,否则调用自增 ID。

/**
 * @desc 协议编号
 * @author  磊丰
 * @Date  2021/12/1 16:23
 * @param $num
 * @return string
 */
public function inc_privacy_no($num)
{
    $start = "0001";
    $data = 表::find('id');    //这里是查询表里的一条最新的sql数据,自己写
    if(empty($data)){
        return $num.$start;
    }
    $data_no = str_pad(($data['id']+1),4,"0",STR_PAD_LEFT);
    return $num.$data_no;
}

调用方法

$this->inc_privacy_no("YSZC")

推荐学习:《PHP视频教程

以上就是用​PHP给指定的数字前面补零的详细内容,更多请关注php中文网其它相关文章!

php中文网直播班

声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除

  • 相关标签:PHP
  • https://www.php.cn/php-weizijiaocheng-485261.html

    最后修改日期: 2021-12-03

    留言

    撰写回覆或留言

    发布留言必须填写的电子邮件地址不会公开。