Foreach
From Wikipedia, the free encyclopedia
For each (or foreach) is a computer language idiom for traversing items in a collection. Foreach is usually used in place of a standard for statement. Unlike other for loop constructs, however, foreach loops maintain no explicit counter: they essentially say "do this to everything in this set", rather than "do this x times". This can potentially avoid off-by-one errors and make code simpler to read.
Python is notable in having no for loop other than foreach: iterator variables are nonexistent in the language.
[edit] Syntax
Syntax varies between languages. Most use the simple word for
, roughly as follows:
for item in set: do something to item
PHP has an idiosyncratic syntax:
foreach($set as $item) do something to $item;
[edit] Language support
Languages with support for foreach loops include C#, ECMAScript, Java, Javascript, Perl, PHP, Python, REALbasic, Ruby, Smalltalk, Tcl, tcsh, Unix shells, and Visual Basic. Languages without foreach include C.
C++ does not have foreach, but its standard library includes a for_each
function (in <algorithm>
) which applies a function to all items between two iterators, and the Qt toolkit provides a foreach pseudo-keyword for its container classes, implemented as a macro.[1] There is also a similar macro in boost.[2]