Тут вопрос к маэстро Виталию Валерьевичу, почему он примеры с булевым флагом приводит ))

Булевый флаг нужен ну крайне редко.

В случаях, как у Вас, нужно строить цикл, чтобы условие IF-а, который выставляет флаг, оказалось частью условия WHILE.

Вы же привели пример цикла, который, по сути, проверяет наличие элемента в массиве.
Линейный поиск.