PHP 如何給數字前面補零 ,固定位數補0

Laravel00發表於2021-12-02

在設計唯一編號的時候,需要固定位數的數字,比如需要固定四位數格式:

比如:

圖片

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 協議》,轉載必須註明作者和本文連結
溫馨提示:微信搜尋並關注     學Laravel   裡面有兩套Laravel課程:【laravel7.x 從入門到核心架構講解】 與 【Laravel高階實戰教程42集】

相關文章