月、日の桁数をそろえたい時にsubstrの便利な使い方

月とかカレンダーの日をfor文でまとめて出力するときに
以下のように書くことがあるかと思います。

for($i=1;$i<=12;$i++){
  echo $i.'月<br>';
}

=================

1月
2月
3月
4月
5月
6月
7月
8月
9月
10月
11月
12月

ただ、これだとレイアウト的に1桁の月と2桁の月でサイズがずれたりすることがあります。
そこで、1桁の月に頭に0をつけて 01月 02月 ... という風に表示したいとします。
IF文で書くと以下のような感じ。ちょっとIF文が仰々しくてあまりうれしくありません。

for($i=1;$i<=12;$i++){
  if($i < 10){
    echo '0'.$i.'月<br>';
  }else{
    echo $i.'月<br>';
  }
}

これを、substrで書くとこんな感じ

for($i=1;$i<=12;$i++){
  echo substr('0'.$i, -2) . '月<br>';
}

=================

01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月

全部の月の頭に0をつけて文字列として右から2文字を出力する形です。
別にそれほどエレガントでないかもしれませんが
同じ文字数にそろえたいレイアウトの整形という意味では
非常に的を得た方法ではないかなと思います。