Для программиста очевидно, что код в цикле WHILE
не будет выполнен, если не будет возвращено ни одной строки.Это обычная конструкция, поэтому никаких дополнительных пояснений не требуется.Поэтому, если нет ветки, IF
не требуется.
- Согласно гибким принципам, мы не должны вставлять код только потому, что он может понадобиться нам позже.
- Мы должны упростить код всякий раз, когда это возможно.
Итак, учитывая две причины не вставлять избыточный код, я не могу думать о какой-либо причине, чтобы поместить его туда.
ХОРОШО:
$result=mysql_query("SELECT * From table WHERE column='XX'");
if(mysql_num_rows($result)>0) {
while($row=mysql_fetch_array($result)){
...
}
} else {
// Do something
}
ХОРОШО:
$result=mysql_query("SELECT * From table WHERE column='XX'");
while($row=mysql_fetch_array($result)){
...
}
ПЛОХО:
$result=mysql_query("SELECT * From table WHERE column='XX'");
if(mysql_num_rows($result)>0) {
while($row=mysql_fetch_array($result)){
...
}
}