2017-04-04 5 views
0

助けが必要です。 1年ごとに変更されるシーケンス番号を作成する必要があります。 たとえば、今年は2017です。シーケンス番号は0000001になります。 年が2018になると、シーケンス番号は0000002に変わります。年だけ変更されるシーケンス番号を作成

これを可能にするにはどうすればいいですか? 私はphpを使ってスクリプトを作成しようとしましたが、私は上記の関数を作成できませんでした。ここで

は私のコードです:

$year= '2017'; 
$n=0; 
$n = str_pad($n + 1, 6, 0, STR_PAD_LEFT); 
if($year==2017){ 
    $number=$n; 
}else{ 
    $number = $n+1; 
} 
echo $number; 

誰でも助けることができますか? おかげ

+0

あなたがハードコーディング2017年のもの又は任意の他のロジックが背後にあるのでしょうか? – manian

+0

論理があります...今年のPHPを取得しています。日付( 'Y') –

+0

大丈夫です。したがってシーケンス番号は2017から始まります – manian

答えて

4

はここsprintf()を使用してソリューションです:

$year = '2017'; 
$seq = sprintf('%07d', $year - 2016); 

echo $seq; 
+0

ありがとうございますそれはうまく動作します –

+0

whats this 07 again? – Remario

+1

@CaspainCaldion私もドキュメントを読んできました。私は混乱していた。私は分かりませんが、「7文字長く、パディングとして0を使用する」と仮定しています。したがって、減算はx 0で埋められます。xは7 - $ yearの長さです - 2016 – JustCarty

関連する問題