Вопрос о правильности стандарта написание кода

Markus

Новичок
вот написал так
PHP:
 while ($row = $db->fetchRow()) {
   $cities[$i++] = ($row[0] == $city) ? 
   array('id'=>$row[0],'name'=>$row[1],'selected'=>'selected') :
   array('id'=>$row[0],'name'=>$row[1],'selected'=>'');
 }
может как то попроще еще можно?? менее громоздко
 

Фанат

oncle terrible
Команда форума
господи, ну ты и наворотил.
ПЕРЕМЕННУЮ, ПРОСТЫМ условием IF установить можешь? в значение selected или пустую строку?
а потом просто эту переменную добавить в массив?

$i++, кстати, здесь не нужно
 

Markus

Новичок
я не могу понять как добавить в массив переменую, if условие естественно знаю
 

Фанат

oncle terrible
Команда форума
КАК ЭТО?
как это не можешь понять, как добавить?
а ЭТО у тебя что - 'id'=>$row[0]?
это ты удаляешь что ли?
ты две переменные в массив добавляешь
а третью - не знаешь как?
по моему, тебе надо пойти поспать
 

Markus

Новичок
PHP:
 while ($row = $db->fetchRow()) {
   $selected=($row[0] == $city) ? 'selected' : false;
   $cities[] = array('id'=>$row[0],'name'=>$row[1],'selected'=>$selected);
 }
Фанат ты это имел ввиду?
 

Фанат

oncle terrible
Команда форума
да.
только я имел в виду простой иф
не понимаю твою любовь к тернарному оператору
 

Markus

Новичок
как раз хотел спросить могут ли быть с тернарным оператором проблемы??

и пишу наверно потому тому что удобнее записывать
PHP:
$selected=($row[0] == $city) ? 'selected' : false;
чем
PHP:
if ($row[0] == $city) $selected = 'selected';
else $selected = false;
 
Сверху