用PHP给指定的数字前面补零
PHP 给数字前面补零 ,固定位数补0
在设计唯一编号的时候,需要固定位数的数字,比如需要固定四位数格式:
比如:
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视频教程》