Ну, если предположить, что это значение, которое вы хотите заполнить, оно здесь:
$select .= "<option value=\"$key\"";
становится
$select .= '<option value="'.str_pad($key, 2, "0", STR_PAD_LEFT).'"';
Это предполагает, что вы не хотите, чтобы он дополнялся при выполнении проверки по $selected
, если вы это делаете, вам нужно сделать это в начале цикла, перезаписывая значение в $key
, и тогда вы можете использовать свой оригинальный код, например, так:
foreach($months as $key=>$mon)
{
$key = str_pad($key, 2, "0", STR_PAD_LEFT);
$select .= "<option value=\"$key\"";
$select .= ($key==$selected) ? ' selected="selected"' : '';
$select .= ">$mon</option>\n";
}