php 数字の桁数を指定する
2011/06/27
数字を桁数を合わせて出力したい。
echo sprintf("%02d", 5);
// → 05
// → 05
echo sprintf("%03d", 5);
// → 005
echo sprintf("%04d", 5);
// → 0005
めも
たとえば、ループの中で合計何件中何件目なのかを出力したい場合。
- $ary = array(“aa”, “ab”, …, “zz”);
- $max = count($ary);
- $digits = strlen(count($ary));
- $i = 1;
- foreach( $ary as $v ){
- echo "[" . sprintf("%0{$digits}d", $i++) . " / {$max}]";
- }
サンプル
- 「5桁」の整数(?)に変換(最初に「0」をつける)
- sprintf("%05d", 5);
// 出力すると「00005」 - 「10桁」の整数(?)に変換(最初に「0」をつける)
- sprintf("%010d", 5);
// 出力すると「0000000005」 - 「5桁」の整数(?)に変換(最初に「1」をつける)
- sprintf("%'15d", 5);
// 出力すると「11115」 - 「5桁」の整数(?)に変換(最初に「#」をつける)
- sprintf("%'#5d", 5);
// 出力すると「####5」 - 「5桁」の整数(?)に変換(最初に「 (半角スペース)」をつける)
- sprintf("%5d", 5);
// 出力すると「 5」 - 「5桁」の文字に変換(最初に「0」をつける)
- sprintf("%05s", 5);
// 出力すると「00005」 - 「5桁」の文字に変換(最後に「0」をつける)
- sprintf("%0-5s", 5);
// 出力すると「50000」(sprintf("%-05s", 5)でも可能) - 「5桁」の文字に変換(最後に「#」をつける)
- sprintf("%'#-5s", 5);
// 出力すると「5####」(sprintf("%-'#5s", 5)でも可能)