| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > циклы при выборке из базы |
| Автор: Gold Dragon 27.12.2007, 10:32 |
| Я почему-то пользуюсь for, просто по моему тут очень понятная конструкция да и последовательная. Но многие используют foreach. Видел ещё while Хотелось бы услышать что предпочтительнее использовать при выборки mysql_fetch_object, скорость да и вообще чем один лучше другого? И существует ли разница между mysql_fetch_array (при условии что используется MYSQL_ASSOС или MYSQL_NUM) и mysql_fetch_object в разных циклах? |
| Автор: MoLeX 27.12.2007, 11:03 |
| лично я использую или for или while, но тут еще не тока дело вкуса, а привычки скорей всего) |
| Автор: Gold Dragon 27.12.2007, 11:39 | ||
| я скорее всего говорил о выборке новых. а скорость обработки for и while как-то различается? а насчёт читабельности.. так я пишу так.. и вроде наоборот всё понятно
ЗЫ Конечно большое спасибо за выдержку из правил.. Народ, ну может хватит тыкать носом? НАФИГА тогда форум нужен, если АБСОЛЮТНО(!) на любой вопрос есть пункт в доках! Тогда давайте просто делать Вопрос->Номер пункта документации. Я то спрашиваю личное мнение, наработанную практику, удобства того или иного.... Ну не могу я всё знать и везде всё прочитать. Да и возможности иногда нет. Иногда просто не знаешь как искать, по каким ключевым фразам.. |
| Автор: SelenIT 27.12.2007, 17:19 |
| Я обычно пользуюсь while, если число записей не требуется мне для другой цели (напр., вывода альтернативного шаблона в случае пустой выборки). Принцип бритвы Оккама - если без какого-то действия (напр., mysql_num_rows) можно обойтись, я стараюсь обходиться. Что же до скорости, то, имхо, если различия и есть, то они теряются на фоне времени выполнения самого запроса. Имхо, в варианте с for действий выполняется побольше (проверяем искусственное условие и делаем fetch в любом случае, вместо того чтоб воспользоваться в условии побочным эффектом - логическим значением - того же самого фетча, как в случае с while). Если мне до зарезу нужны микросекунды, я вообще юзаю while($f = mysql_fetch_row()) - типа самый быстрый |