Где наиболее эффективная позиция для кодового блока, который должен выполняться, только если цикл достиг своего конца, без предварительного прерывания (через разрыв или возврат)?
Вопрос кажется банальным, ответ очевиден, но я не уверен!
Ответ от специалистов по теории эффективности / эффективности очень приветствуется!
Предоставлено : «Некоторый код X» всегда одинаков, только в разных позициях сегмента кода 1 и 2.
Я полагаю, : 2 будет выполняться с той же надежностью, что и 1. Я ошибаюсь?
Я знаю: 2, очевидно, более эффективен, так как он вызывается только один раз после того, как цикл выполнил $ limit times, по сравнению с 1, чье включающее условие if называется $ limit times, и если однажды истина, сам код вызывается. Таким образом, разница эффективности равна , если условие запрашивается в $ предельных временах .
Отсюда я делаю вывод: предпочесть использование сегмента кода 2, а не сегмента кода 1, если мое предположение неверно!
for ($i = 0; $i <= $limit; $i++) {
// Some Code A [...]
// Executed every iteration.
// If condition is met, abort the loop and return $result
if (condition) {
return $result;
}
// Code Segment 1, only executed in last iteration if no abortion happened previously. If-condition checked $limit times!
if ($i == $limit) {
// Some Code X [...]
return $result
}
}
// Code Segment 2, only executed if no abortion happened. At most executed only once!
// Some Code X [...]
return $result