1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
function incremente($sequence){
// Récupères le mois en cours sans les zéros (1 à 12)
$mois = date('n');
// Récupéres les 3 premières lettres de ta séquence
$x = substr($sequence, 0, 3);
// Récupères le mois et l'incrément et le caste en int donc perte des 0
$m = (int)substr($sequence, 3, 2);
$i = (int)substr($sequence, -3);
// Si le mois en cours = le mois de la dernière séquence, on retourne la chaine avec le mois complété par un eventuel 0 à gauche et l'incrément +1 complété avec des eventuels 0 à gauche
if($mois == $m)
return $x.str_pad($mois, 2, 0, STR_PAD_LEFT).str_pad($i+1, 3, 0, STR_PAD_LEFT);
// Sinon meme procédure mais on incrémente le mois au lieu de l'incrément
$next_mois = ($mois == 12) ? '01' : str_pad($mois+1, 2, 0, STR_PAD_LEFT);
return $x.$next_mois.'000';
} |
Partager