在設計唯一編號的時候,需要固定位數的數字,比如需要固定四位數格式:
比如:
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")
本作品採用《CC 協議》,轉載必須註明作者和本文連結