Méthode pour encapsuler les nombres dans une limite de 6 à 8 caractères
P粉315680565
P粉315680565 2023-08-10 10:36:59
0
2
584
<p><br /></p> <pre class="brush:php;toolbar:false;">fonction statique publique generateReceiptNumber(int $id) { $receipt_number = sprintf('%06d', $id % 100000000); renvoie $numéro_de_reçu ; }</pré> <p>J'utilise le code ci-dessus pour convertir le $id entrant en un nombre minimum de 6 chiffres et maximum 8 chiffres. Par exemple : 000001 - 99999999</p> <p>Mais il y a un défaut dans ce code. Lorsque $id est égal à 100000000, il renverra 000000. Comment dois-je améliorer le code ci-dessus pour renvoyer 000001 ? </p> <p>Par analogie, $id est l'ID auto-incrémenté de la base de données. </p> <p>La raison pour laquelle je souhaite y parvenir est que j'ai une zone de texte affichée avec une limite de texte de seulement 8 chiffres et je ne peux que compter les nombres à partir de 000001 et continuer à répéter. </p>
P粉315680565
P粉315680565

répondre à tous(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;
}


Veuillez vérifier si cette réponse vous aide

P粉863295057

Que pensez-vous de ceci :

function generateReceiptNumber(int $id)
{
    while($id>=100000000)
        $id -= 100000000 - 1;
    return sprintf('%06d', $id);
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!