Top.Mail.Ru
Ответы

В чем отличие оператора foreach от for?

В чем отличие оператора foreach от for?

По дате
По рейтингу
Аватар пользователя
Новичок

foreach предоставляет доступ только для чтения ко всем элементам итерируемого объекта, начиная с первого и может быть прерван по условию операторами break и return либо его итерация пропущена оператором continue. Также цикл позволяет изменять доступные внешние объекты в пределах области видимости.

for более гибок, в дополнение ко всему он позволяет изменять значения итерируемого объекта, пропускать элементы, начинать с конца к началу, начинать с произвольного индекса и заканчивать произвольным индексом, пройдя в одну сторону, возвращаться обратно, условие цикла позволяет ему не выполняться совсем.

Аватар пользователя
Просветленный

В том, что цикл for идет от одного заданого значения до другого, проверяя условии на каждой итерации, тогда как foreach работает до тех пор, пока в перечислении есть данные (если заглянуть под капот foreach, то вы там увидите цикл while)