Why is it better.
well, for one thing, it's shorter: one line vs eight lines.
How do you use it (untested, my contain typos):
for ($i = 1; $i < 32; $i++)
{
$print_selected = "";
if ($i==$dob_day) {$print_selected = " SELECTED";}
$dob_days_list .= sprintf('<OPTION VALUE="%d" %s>%02d</OPTION>',$i, $print_selected, $i)."\n";
}