在设计唯一编号的时候,需要固定位数的数字,比如需要固定四位数格式:
比如:
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教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。