PHPの0埋めする方法

PHPで0埋めする方法です。

0埋めとは、そのままの意味で、足りない桁数分を0で埋めることになります。

例えば2月3日を02月03日と表示したい場合です。

PHPの0埋めする方法

0埋めするにはsprintf()を使います。

sprintf()はフォーマットする関数で、0埋めのフォーマットに数値を当てはめるだけです。

0埋めする場合は次のように書きます。

これで結果は次のようになります。

簡単に0埋めできますね。

 

これは結構一般的でよく使うのですが、%03d の部分のルールっていまいち分からないです。

sprintf()の解説

sprintf($フォーマット, $値1, $値2, ・・・)

第1引数の$フォーマットは、出力結果のフォーマットです。

第2引数以降の$値Nは、フォーマットに埋め込む値です。

戻り値はフォーマットされた文字列になります。

 

フォーマット(%03d)の % は、ここから置換文字列だということを示しています。

最後の d は、10進数の数値であることを定義します。

dの前の 3 は桁数です。

 

そして 0 は 0埋めの0になるようですが・・・ここだけいまいちピンときません。

何も書かないと半角スペースで指定した桁数まで埋めててくれます。

じゃ 1 を指定すると1埋めしてくれるのか?というとそうではないようです。

試しに上のようなコードを書いてみました。

結果は当たり前ですが半角スペースで15桁埋めてくれました(笑)

 

アルファベットやとどうだろう?

0 の代わりに z を入れてみました。

結果は、

となりました。

%zまでで1つのフォーマットと判断されたようですね。

 

10進数で0埋めする場合は、「%0~d」はお決まりで~に桁数を入れるという使い方!というルールなんだと思います。

まとめ

ちょっとしっくり来ない終わり方をしてしまいましたが、0埋めの方法に関してはこの書き方はよく使われます。

覚えておいて損はないです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA