+156
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
<?php
// Код курильщика
for ($i=1;$i<8;$i+=2){
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
if($i==7) {$i+=3;
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
}
else {
if($i==10) {
$i+=4;
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
}
else {
for ($i=20;$i<45;$i+=10){
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
if($i==40){$i+=20;
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
$i+=30;
if($i==$row->ShipingTime) $result .="<option selected value='".$i."'>".$i."</option>";
else $result .="<option value='".$i."'>".$i."</option>";
}
}
}
}
// Код здорового человека (провели рефакторинг)
$ST_variants = array('1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90');
foreach ($ST_variants as $value) {
print "<option ". ($value==$row->ShipingTime) ? 'selected' : '' ; ." value='".$value."'>".$value."</option>";
}
Заказчик хотел получить <select> со списком значений: '1', '3', '5', '7', '10', '14', '20', '30' , '40', '60', '90'...
Запостил:
govnokoder2,
16 Марта 2015
Да нафиг тут спринтф? С интерполяцией наглядней будет, чем с ним:
Да так то можно хоть обобщённый компонент для комбиков написать. Но надо ли это в этой задаче?
рефакторинг-то хоть запускался вообще?
Зато в два раза больше кода и раза в два больше мусора в куче :3
P.S. И да, оригинальный код толерантен к кривому или пустому $row->ShippingTime.
На счет памяти - хз. Может можно придумать какой-то способ похожий на with-output-to-string, какой-нибудь ob_buffer_start или как-оно там.
- Говно.