Добавить ведущий 0 в цикле for

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
823
Реакции
342
Как добавить вторую команду, чтобы если число меньше 10-ти, т.е. 0-9, то впереди добавлялся бы 0?
Код:
for ($i='-1'; $i++<'24';) echo '<option value="'.$n.$i.'">'.$n.$i.'</option>';
можно конечно так сделать
Код:
if ($i<10) $n='0'; else $n='';
Но может есть более изящное решение?

Спасибо
 
Варианты:
1. Тернарный оператор: ($i<10)?$n='0':$n='';
2. sprintf("%02d", $i)
 
А силами самого for это сделать никак нельзя? Там же можно и другие команды добавлять. Только вот не соображу, как это сделать правильно.
 
PHP:
for ($i=1; $i<24; $i++) echo sprintf("<option value='%1$02d'>%1$02d</option>\n", $i);

HTML:
<option value='01'>01</option>
<option value='02'>02</option>
<option value='03'>03</option>
<option value='04'>04</option>
<option value='05'>05</option>
<option value='06'>06</option>
<option value='07'>07</option>
<option value='08'>08</option>
<option value='09'>09</option>
<option value='10'>10</option>
<option value='11'>11</option>
<option value='12'>12</option>
<option value='13'>13</option>
<option value='14'>14</option>
<option value='15'>15</option>
<option value='16'>16</option>
<option value='17'>17</option>
<option value='18'>18</option>
<option value='19'>19</option>
<option value='20'>20</option>
<option value='21'>21</option>
<option value='22'>22</option>
<option value='23'>23</option>
 
полезной в подобных задачах может быть и функция str_pad
for ($i=1; $i<24; $i++) echo "<option value='".str_pad($i, 2, "0", STR_PAD_LEFT)."'>".str_pad($i, 2, "0", STR_PAD_LEFT)."</option>\n";

вернет тот же результат
 
Назад
Сверху