用​PHP给指定的数字前面补零

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教程

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...