Kaedah untuk merangkum nombor kepada had 6 hingga 8 aksara
P粉315680565
P粉315680565 2023-08-10 10:36:59
0
2
521


fungsi statik awam menjanaReceiptNumber(int $id) { $nombor_resit = sprintf('%06d', $id % 100000000); pulangkan $resit_nombor; }

Saya menggunakan kod di atas untuk menukar $id masuk kepada minimum 6 digit, maksimum 8 digit nombor. Contohnya: 000001 - 99999999

Tetapi terdapat kecacatan dalam kod ini Apabila $id bersamaan dengan 100000000, ia akan mengembalikan 000000. Bagaimanakah saya harus memperbaiki kod di atas untuk mengembalikan 000001?

Dengan analogi, $id ialah ID auto-increment bagi pangkalan data.

Sebab saya ingin mencapai ini adalah kerana saya mempunyai kotak teks paparan dengan had teks hanya 8 digit dan saya hanya boleh mengira nombor kembali dari 000001 dan terus mengulang.

P粉315680565
P粉315680565

membalas semua (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; }


Sila semak sama ada jawapan ini membantu

    P粉863295057

    Bagaimana pula dengan ini:

    function generateReceiptNumber(int $id) { while($id>=100000000) $id -= 100000000 - 1; return sprintf('%06d', $id); }
      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!