webForumDet fria alternativet

01 istället för 1?

PHPur PHP

6 svar · 446 visningar · startad av streetrobban

Medlem sedan jan. 20011 140 inlägg
Frågan#1

Tjenare, jag loopar ut år etc. med hjälp av nedanstående kod. Men jag undrar hur man får scriptet att skriva ut 01 istället för 1?

<select name="MonthOfBirth" style="width: 55; height: 19; margin-top: 3;">
<option value=""  selected="selected">MM</<option>
<?php
$num = 1;
while ($num <= 12)
{
echo "<option value=\"$num\">$num</option>";
$num++;
}
?>
</select>
Medlem sedan juni 20034 013 inlägg
#2

Finns många sätt, men kanske det för människan mest logiska passar bäst här:

if ($num < 10)
echo "<option value=\"$num\">0$num</option>";
else
echo("<option value=\"$num\">$num</option>";

Medlem sedan jan. 20011 140 inlägg
#3

Jag kanske var lite otydlig. Jag vill alltså att 1 ska bli 01. Men 12 ska inte bli 012, utan 12.

Medlem sedan sep. 20005 700 inlägg
#4

streetrobban skrev:

Jag kanske var lite otydlig. Jag vill alltså att 1 ska bli 01. Men 12 ska inte bli 012, utan 12.

Testade du inte Tydals lösning?

Medlem sedan jan. 20011 140 inlägg
#5

Ahh sorry, jag tänkte inte längre än vad näsan räckte. Och när jag är trött krymper min näsa.

Följande kod löste problemet. Tack tydal :)

<?php
$month = 1;
while ($month <= 12)
{
if ($month < 10)
{
echo "<option value=\"$month\">0$month</option>";
$month++;
}
else
{
echo "<option value=\"$month\">$month</option>";
$month++;
}
}
?>
Medlem sedan juni 20008 205 inlägg
#6

Annars kan du använda s/printf för lite kompaktare kod:

<?php
for ($month = 1; $month <= 12; $month++) 
    printf('<option value="%d">%02d</option>', $month, $month);
?>
Medlem sedan juni 20006 031 inlägg
#7

Finns många sätt, själv skulle jag använt mig av str_pad()

<?php
for ($month = 1; $month <= 12; $month++)
    echo "<option value=\"$month\">".str_pad($month, 2, "0", STR_PAD_LEFT)."</option>\n";
?>
130 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)