foreach является конструкцией цикличного выполнения, которая выполняет данную часть кода для каждого элемента в списке/наборе/массиве. В отличие от для цикла, цикл foreach не требует, чтобы кодер поддержал переменную счетчика для предотвращения off-one (fencepost) ошибки. Рекомендуется использовать, когда простое повторение по целому массиву/списку/набору необходимо.
foreach
оператор повторяет группу встроенных операторов для каждого элемента в массиве или объектном наборе.
foreach оператор используется для итерации через набор, но не может использоваться, чтобы добавить или удалить объекты из исходного набора, который мог вызвать непредсказуемые побочные эффекты. Если необходимо добавить или удалить объекты из исходного набора, используйте для цикла.
Некоторая форма цикла foreach поддерживается большинством языков, хотя синтаксис может отличаться значительно. Вот несколько примеров (чтобы быть расширенными):
foreach (var element in Collection)
for (SomeType element : collection)
for (element in collection)
for (element in iterable)
foreach($collection as $key => $value)
For Each Element As SomeType In Collection ... Next
for ( i : collection )
Objective C
for (id object in list)
for (item in list)
for (i in a)
for my $element (@array)
Следующие языки исходно не поддерживают вида foreach оператора:
Для некоторых языков foreach семантика является канонической формой a for
цикл. В качестве примера можно привести
См. также: циклы, цикл с условием продолжения, для цикла, и делают - в то время как.