將數字封裝為6至8位元字元限制的方法
P粉315680565
P粉315680565 2023-08-10 10:36:59
0
2
509


public static function generateReceiptNumber(int $id) { $receipt_number = sprintf(' d', $id % 100000000); return $receipt_number; }

我正在使用以上代碼來將傳入的$id轉換為最小6位數、最大8位數的數字。例如:000001 - 99999999

但是這段程式碼有一個缺陷,當$id等於100000000時,它將返回000000,我應該怎麼改進以上的程式碼來回傳000001呢?

依序類推,$id是資料庫的自增id。

之所以想要實現這一點,是因為我有一個顯示文字框,其文字限制只有8位數,我只能將數字重新從000001開始計數並繼續重複。

P粉315680565
P粉315680565

全部回覆 (2)
P粉403804844



public static function generateReceiptNumber(int $id) { //处理特殊情况,当$id为100000000时if ($id === 100000000) { return '000001'; } //使用取模运算将ID限制在范围0到99,999,99$limited_id = $id % 100000000; //格式化限制的ID,使用前导零确保至少6位$receipt_number = sprintf('%06d', $limited_id); return $receipt_number; }


請看這個答案是否能幫助

    P粉863295057

    這怎麼樣:

    function generateReceiptNumber(int $id) { while($id>=100000000) $id -= 100000000 - 1; return sprintf('%06d', $id); }
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!