数字の序数を制御する

 
ぜんぜんたーいしたことないんですが。
アクセスカウンターを作るときに、GDが日本語化けて、それ対策で文字コードを調べるのもめんどいので、
GDで作った英語文章の画像をカウンターとして使おうと思いました。で、使ってます。
序数の問題があって、ちょっとかいてみました。
 
我ながら汚いコードです。
もっといい書き方あると思うのですが、趣味なので、動いたらいいです。
わかりやすいのがいちばんです。

	switch($num % 10){
		case 0:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
		case 9:
		$th = "th";
		break;
		case 1:
		if($num % 100 == 11){
			$th = "th";
		} else {
			$th = "st";
		}
		break;
		case 2:
		if($num % 100 == 12){
			$th = "th";
		} else {
			$th = "nd";
		}
		break;
		case 3:
		if($num % 100 == 13){
			$th = "th";
		} else {
			$th = "rd";
		}
		break;
	}

変数 $th ってww